IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Rafraichissement de page


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Rafraichissement de page
    Bonjour,

    Je viens de créer un petit script en JS. Le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <script>	
     
    	function hello(e)
    	{
     
    			e = e || window.event;
    			var el = e.target || e.srcElement;
    			if(el.nodeType==3)el=el.parentNode
    			if(el.id=="PC1"){
    			var processeur = "Intel Core i3 530";
    			var carte_mere = "Asustek P7F7-E WS Supercomputer";
    			var memoire = "DDR3 1066 MhZ";
    			var carte_graphique = "NVidia Geforce GTX 460GS";
     
    			var disque_dur = "Western Digital Green 1 To";
    			var carte_audio = "Son High Definition 7.1";
    			var carte_reseau = "Reseau 10/100/1000 Mbps";
    			var peripherique = "souris + clavier";
    			var ecran = "Philips 221T1SB";
     
    			document.write('<img id="PC1" id="PC1" src="DJCE.png" onclick="hello();"/>');
    			document.write("<h1>Description de l'ordinateur</h1>" );
    			document.write('<p>Processeur : ' + processeur + '</p>');
    			document.write('<p>Carte Mère : ' + carte_mere + '</p>');			
    			document.write('<p>Mémoire : ' + memoire + '</p>');
    			document.write('<p>Carte graphique : ' + carte_graphique + '</p>');			
    			document.write('<p>Disque dur : ' + disque_dur + '</p>');
    			document.write('<p>Carte audio : ' + carte_audio + '</p>');			
    			document.write('<p>Carte réseau : ' + carte_reseau + '</p>');
    			document.write('<p>Périphérique : ' + peripherique + '</p>');
    			document.write('<p>Ecran : ' + ecran + '</p>');
    			}
     
    		}
     
     
     
    		//--></script>
     
     
    			<img id="PC1" id="PC1" src="DJCE.png" onclick="hello();"/>
    	</body>
    tout marche niquel mais est il possible de juste rafraichir les données passés en variable parceque si je suis à chaque fois obligé de rappeler la page entière... on est pas sorto

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu ne recharges pas la page, tu la recrées, c'est pas tout à fait pareil.
    C'est dû à l'utilisation de l'immonde document.write().

    Lorsqu'un script se trouve dans le corps de la page et que cette instruction est appelée, cela ajoute son (ou ses) paramètre(s) au contenu de celle-ci, car le document est dans un état dit ouvert (en cours de création), en revanche, dans ton cas, le write est bien dans le corps de la page, mais à l'intérieur d'une fonction, qui sera appelée après que la page ait fini de se charger, c'est-à-dire quand le document sera dans un état fermé. Dans ce cas, write efface le document, en recrée un et insère ce contenu dans le nouveau document, l'ancien étant définitivement perdu.

    Utilises plutôt une balise div vide dans laquelle tu insèrera le contenu généré.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Ok merci pour l'info mais serait il possible d'être un peu plus clair au niveau de mon code, je ne vois pas comment aborder ça.

    Enlever les "document.write" ? Pour mettre quoi à la place ?

    Bref je ne vois pas trop comment aborder la chose

    Merci bien !

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par googlemania Voir le message
    Ok merci pour l'info mais serait il possible d'être un peu plus clair au niveau de mon code, je ne vois pas comment aborder ça.

    Enlever les "document.write" ? Pour mettre quoi à la place ?

    Bref je ne vois pas trop comment aborder la chose

    Merci bien !
    Un exemple vite fait en utilisant le DOM de la page :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var elemP = document.createElement("P");
    elemP.appendChild(document.createTextNode("Carte Mère : " + carte_mere));
    document.getElementById("idDeLElementParentAuquelTuVeuxGrefferCeParagraphe").appendChild(elemP);

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Impeccable.

    Merci grâce à toi je viens de toucher à de l'AJAX

    Encore une petite question :

    Comment insérer des balises HTML dans ton code ? A la Javascript, cela ne fonctionne pas ! :/

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par googlemania Voir le message
    Comment insérer des balises HTML dans ton code ? A la Javascript, cela ne fonctionne pas ! :/
    Créer des balises dans le code JS pour les intégrer a ta page HTML ? (ou j'ai pas compris... ? ) Eh ben c'est l'exemple que je te donnais ci-dessus ^^

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Après mdoif, voici mon code :

    JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var elemP = document.createElement("P");
     
    			elemP.appendChild(document.createTextNode('Processeur : ' + processeur));
    			elemP.appendChild(document.createTextNode('Carte Mère : ' + carte_mere));
    			elemP.appendChild(document.createTextNode('Mémoire : ' + memoire));
    			elemP.appendChild(document.createTextNode('Carte graphique : ' + carte_graphique));
    			elemP.appendChild(document.createTextNode('Disque dur : ' + disque_dur));
    			elemP.appendChild(document.createTextNode('Carte audio : ' + carte_audio));
    			elemP.appendChild(document.createTextNode('Carte réseau : ' + carte_reseau));
    			elemP.appendChild(document.createTextNode('Périphérique : ' + peripherique));
    			elemP.appendChild(document.createTextNode('Ecran : ' + ecran));
     
    			document.getElementById("divtest").appendChild(elemP);
    HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <img id="PC1" id="PC1" src="DJCE.png" onclick="hello();"/>
    			<h1>Description de l'ordinateur</h1>
    			<div id="divtest">
     
    			</div>
    Mais tout est sur une ligne, je souhaiterai mettre chaque ligne dans une balise <p> afin de faire de joli paragraphe

  8. #8
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Fais toi une fonction ^^
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function ajouter_paragraphe(parent, texte){
    	return parent.appendChild(document.createElement("P").createTextNode(texte));
    }
    et appelle la comme ça :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var div = document.getElementById("divtest");
    ajouter_paragraphe(div, "Processeur : " + processeur);
    ajouter_paragraphe(div, "Carte Mère : " + carte_mere);
    enfin ce n'est qu'une piste... ^^

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Merci pour l'info, mais je ne vais pas faire de fonction ! Cependant mon probleme persiste toujours. Voici mon code :

    JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function hello(e)
    	{
     
    			e = e || window.event;
    			var el = e.target || e.srcElement;
    			if(el.nodeType==3)el=el.parentNode
    			if(el.id=="PC1"){
     
    			var processeur = "Intel Core i3 530";
    			var carte_mere = "Asustek P7F7-E WS Supercomputer";
    			var memoire = "DDR3 1066 MhZ";
    			var carte_graphique = "NVidia Geforce GTX 460GS";
    			var disque_dur = "Western Digital Green 1 To";
    			var carte_audio = "Son High Definition 7.1";
    			var carte_reseau = "Reseau 10/100/1000 Mbps";
    			var peripherique = "souris + clavier";
    			var ecran = "Philips 221T1SB";
     
    			var elemP = document.createElement("P");
     
     
    			elemP.appendChild(document.createTextNode("Processeur : " + processeur));
    			elemP.appendChild(document.createTextNode("Carte Mère : " + carte_mere));
    			elemP.appendChild(document.createTextNode("Mémoire : " + memoire));
    			elemP.appendChild(document.createTextNode("Carte graphique : " + carte_graphique));
    			elemP.appendChild(document.createTextNode("Disque dur : " + disque_dur));
    			elemP.appendChild(document.createTextNode("Carte audio : " + carte_audio));
    			elemP.appendChild(document.createTextNode("Carte réseau : " + carte_reseau));
    			elemP.appendChild(document.createTextNode("Périphérique : " + peripherique));
    			elemP.appendChild(document.createTextNode("Ecran : " + ecran));
     
    			document.getElementById("divtest").appendChild(elemP);
     
    			}
     
    		}
    HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <img id="PC1" id="PC1" src="DJCE.png" onclick="hello();"/>
    <h1>Description de l'ordinateur</h1>
    <div id="divtest">
    </div>
    Voici le rendu :



    Le problème est que la balise <p> n'est pas prise en compte ! Pas de retour à la ligne !

    Une idée :/

    Merci

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Si, ta balise p est prise en compte, seulement, vu que tu insères tous tes textes dans cette balise, il n'y a aucune raison qu'il y ai des retours à la ligne, c'est donc pour ça que Romain te proposais de créer autant de balises p que de textes à afficher
    Sinon, tu peux aussi insérer entre chaque ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elemP.appendChild(document.createElement('br'));
    mais du coup, sémantiquement, ça devient bancal...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Oh tiens ! ca marche

    Merci à tous !

  12. #12
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par googlemania Voir le message
    Oh tiens ! ca marche

    Merci à tous !

    c'est tombé en marche...

    Nous v'la beaux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Eviter la double insertion en rafraichissant la page
    Par p0Kep0K dans le forum Langage
    Réponses: 8
    Dernier message: 08/06/2006, 14h10
  2. pblm de rafraichissement de page html avec applet java
    Par BernardT dans le forum Applets
    Réponses: 7
    Dernier message: 31/05/2006, 17h35
  3. Rafraichissement de page -> texte d'un div disparait
    Par grinder59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/05/2006, 18h09
  4. rafraichissement de page
    Par xave dans le forum Langage
    Réponses: 16
    Dernier message: 29/12/2005, 10h46
  5. Rafraichissement de page
    Par Wormus dans le forum Langage
    Réponses: 7
    Dernier message: 13/12/2005, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo