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 :

[Débutant][Jscript] Comment faire?


Sujet :

JavaScript

  1. #21
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #22
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    super je crois que j'ai enfin compris quelquechose même que c'était avec du PHP langage que je ne connait pas non plus (j'aime pas microsoft mais au boulot faut travailler avec ca)!

    Bref disons que je mets le code suivants comment dois-je dire ou je veux que mon code vienne:
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <html>
    	<head>
    		<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    		<script type='text/JavaScript'>
    			var xhr = null; 
     
    			function getXhr(){
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
    			}
     
    			// Node cleaner
    			function go(c){
    				if(!c.data.replace(/\s/g,''))
    					c.parentNode.removeChild(c);
    			}
     
    			function clean(d){
    				var bal=d.getElementsByTagName('*');
     
    				for(i=0;i<bal.length;i++){
    					a=bal[i].previousSibling;
    					if(a && a.nodeType==3)
    						go(a);
    					b=bal[i].nextSibling;
    					if(b && b.nodeType==3)
    						go(b);
    				}
    				return d;
    			} 
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function gorefresh(){
    				getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						reponse = clean(xhr.responseXML.documentElement);
    						alert(reponse.getElementsByTagName("message")[0].firstChild.nodeValue);
    					}
    				}
    				xhr.open("GET","henry.xml",true);
    				xhr.send(null);
     
    			}
    		</script>
    	</head>
    	<body><table><tr> Comment faire pour introduire ma réponse ici</tr></table>
    		<input type='button' value='refresh' onclick='gorefresh()' />
    	</body>
    </html>
    Merci beaucoup!

  3. #23
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Bon ben je ne doit pas avoir compris enfaite! Car s'il y a pas de réponse je pense que je doit être a coté de la plaque!

    Bon rebelotte je le lit encore une fois peut-être qu'avoir dormis une nuit dessus m'aura aidera a mieux comprendre cette fois-ci!

    Si vous avez un autre lien qui parle d'AJAX pour javascript c'est volontiers! (en francais si possible car plus facile mais si c'est en anglais pas de prob je ferai avec)

    Merci

    Thierry

  4. #24
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    moi je suis parti de celui là ...


    c'est pas sorcier une fois la connection établie tu récupère soit le responseXML soit le responseText...


    essaye un alert(xmlrequest.responseXML)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #25
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Cette fois-ci j'ai compris comment ca marche et j'en suis bien content!

    Merci pour cette adresse c'est mieux expliqué que sur le tuto de siddh qui s'adresse lui à des personnes connaissant mieux js!

    Bref maintenant que j'ai compris les bases vais pouvoir m'y mettre!

    C'est vrai que c'est pas très compliqué mais faut comprendre...

    Bon je commence

  6. #26
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui c'est sans doute vrai ta remarque par rapport au tuto de siddh ...
    je l'avais pourtant vu comme une bonne vulgarisation, mais ils semblerait que non ...
    Siddh ... faut remanier ton tuto ...
    Plus de précisions sans doute sur la partie responseXML ou responseText...
    préciser que c'est là dedans que se trouve ce que l'on va rechercher sur le serveur ?
    bon courage
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #27
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Moi je crois que ca viens du faite que c'est fait avec un exemple qui utilise php et si tu connais pas ca te fait vite peur!

    Et ce qui m'a bien fait comprendre: c'est qu'il explique ce qu'il fait et entre parenthèse il met les ligne concerné car dans le tuto de siddh c'est expliqué mais on ne sait pas vraiment quoi fait vraiment quoi!

    Et aussi un autre truc que je me suis demandé c'est pourquoi il n'a pas mis dans ca page ces exemples à tester?

    C'est pas des reproches juste des améliorations qui pourrait aider à une meilleure compréhension

  8. #28
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    J'aurais besoin d'un peux d'aide pour faire mon tableau

    le script suivant dans mon html:
    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
    function addtable()
    	{
    		var xhr_object = null;   
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");   
    		xhr_object.open("GET", "import.xml", true);   
     
    		 xhr_object.onreadystatechange = function() 
    		 {   
    			   if(xhr_object.readyState == 4)
    			   {
    				   document.getElementById("toto").innerHTML = xhr_object.responseXML ;
    				}
    		 }   
    		 xhr_object.send(null);   	
    	}
    La structure html:
    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
    <html>
    <body>
    	<table id="partList" cellspacing="0" width="100%">
    		<thead>
    			<tr>
    				<th>Item</th>
    				<th>Description</th>
    			</tr>
    		</thead>
    		<tbody xmlns="http://www.w3.org/1999/xhtml" id="toto">
    	</tbody>
    	</table>
    	<p style="text-align: center">
    		<button id="btnAddPart" onClick="AddPartToInvoice(gobjCurrentPartSelected)" disabled="">Add To Invoice</button>
    		<button id="btnAddPart" onClick="addtable()">load</button>
    	</p>
    </body>
    </html>
    Suivi du XML:
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <tbody>
    	<tr id="part1" PartNumber="14" PartDescription="Tofu" UnitCost="23.25" onClick="SelectPart(this)" onDblClick="AddPartToInvoice(this)">
    		<td unselectable="on">14</td>
    		<td unselectable="on">Tofu</td>
    	</tr>
    	<tr id="part2" PartNumber="28" PartDescription="Rossle Sauerkraut" UnitCost="45.60" onClick="SelectPart(this)" onDblClick="AddPartToInvoice(this)">
    		<td unselectable="on">28</td>
    		<td unselectable="on">Rossle Sauerkraut</td>
    	</tr>
    	<tr id="part3" PartNumber="51" PartDescription="Manjimup Dried Apples" UnitCost="53.00" onClick="SelectPart(this)" onDblClick="AddPartToInvoice(this)">
    		<td unselectable="on">51</td>
    		<td unselectable="on">Manjimup Dried Apples</td>
    	</tr>
    </tbody>
    J'aimerais que tout l'élément <tbody> soit populer par les <tr/> de mon xml. est-il possible de naviguer dans le XML que tu charge?

    Mais comment faire? J'ai regarder sur la MSDN et je ne trouve rien dans les propriétés et méthode de responseXML!

    Si jamais ce html machera toujours avec IE et pas FF!

    Merci

    Thierry

  9. #29
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    beinsur que tu peux naviger dans le responseXML avec getElementsBytagName par exemple ...
    y'a plein de posts sur le sujet ...[/code]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #30
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    mwarf, t as du louper les liens de telechargements en haut du tuto

    et il me semble qu'il y a des commentaires dans le code ....

    Mais je vais essayer de faire plus détaillé alors.

    Enfin faut quand même pas oublier que l'utilisation d'xhr c'est pas comme de faire un alert ....

    Pour ce qui est de ton innerHTML, tu peux le faire mais en utilisant le responseText, pas le responseXML qui te retourne un objet xml.

  11. #31
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut

    ha ben tu vois siddh j'ai encore beaucoup à apprendre sur ajax ...
    je pensais que l'on ouvait naviguer dans un xml avec des getElementsByTagName ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #32
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    mais tu peux, enfin sur son documentElement

    la je disais juste qu'on peut pas faire un innerHTML en utilisant le responseXML, ca affichera [object] dans le meilleur des cas.

  13. #33
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    mwarf, t as du louper les liens de telechargements en haut du tuto
    Effectivement! 8) mais d'un autre coté faut voir le lien
    Pour ce qui est de ton innerHTML, tu peux le faire mais en utilisant le responseText, pas le responseXML qui te retourne un objet xml.
    Ok mais qu'es ce qui me permet de dire a l'intérieur de tbody? appendChild comme j'ai compris?

    Et aussi comment compter le nombre d'occurence de tr???

    Donc en faisant une boucle du genre (sans les faute) je devrais y arriver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var l= xhr_object.responseXML.getElementsByTagName('tr').length 
     
    for(var j=0;j < l;j++)
    {      
      document.getElementById("toto").appendChild = xhr_object.getElementsByTagName('tr').item(j);       
    }
    j'ai pas vu que vous aviez posté entretemps

  14. #34
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    plus un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var trs = xhr_object.responseXML.documentElement.getElementsByTagName('tr');
    var l= trs.length
     
    for(var j=0;j < l;j++)
    {     
      document.getElementById("toto").appendChild(trs[j]);       
    }

  15. #35
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    ok je vois je comprend un peu la logique, c'est dans le genre de C#!

    mais y a un truc qui fait une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var trs = xhr_object.responseXML.documentElement.getElementsByTagName('tr');
    ca me renvoit l'erreur:
    "xhr_object.responseXML.documentElement" a la valeur Null ou n'est pas un objet
    Saurais-tu pourquoi?

  16. #36
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    fais toi un alert du responseText pour vérifier déjà si tu récupère le xml que tu veux.
    Quand on a cette erreur, c est souvent une erreur au niveau de la conception xml

  17. #37
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Citation Envoyé par siddh
    fais toi un alert du responseText pour vérifier déjà si tu récupère le xml que tu veux.
    Quand on a cette erreur, c est souvent une erreur au niveau de la conception xml
    C'est bien ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr_object.responsetext);
    ca me renvoit mon xml dans un fenêtre d'alerte et après si je fais ok il plante a la ligne que je t'ai mentionné!

    Mon xml est valide avec XMLSpy et il a rien d'extraordinaire! Je l'ai posté plus haut si tu veux le voir!

    Merci

  18. #38
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui je l'ai regardé et rien trouvé de bizarre dedans.

    Fais toi un alert du responseXML, il devrais afficher [object], ensuite un alert de responseXML.documentElement qui devrais te retourner #document ou object aussi et dis moi

  19. #39
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     alert(xhr_object.responsetext);
    renvoit: le xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr_object.responseXML);
    renvoit: [objet]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr_object.responseXML.documentElement);
    renvoit: null

    Ca doit être ca le problème je l'ai écrit juste? Au faite Jscript c'est case sensitive? a voir oui...

    comprend pas trop!

  20. #40
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui c est case sensitive et tu l as bien ecrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var message = "";
    for(i in xhr_object.responseXML)
        message += i+" "+xhr_object.responseXML[i];
    alert(message);
    et tu peux aussi faire un alert de xhr_object.responseXML.childNodes.length

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/08/2007, 11h14
  2. Réponses: 7
    Dernier message: 16/03/2005, 12h35
  3. [Parser] [Débutant] Comment faire !
    Par enigma dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 23/02/2005, 01h57
  4. [Débutant] Comment faire un calendrier HTML
    Par le lynx dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2004, 16h19
  5. [Débutant] Comment faire un import de package ?
    Par MASSAKA dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 07/05/2004, 09h45

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