Bonjour, j'ai le cas suivant dans une JSP:
Ce tableau est pour le moment vide et je voudrais le remplir en Javascript en utilisant DOM avec un fichier xml récupéré comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <div id="listUser" style="visibility:hidden;"> <table id="nodeTable"> <tr> <td>nom</td> <td>age</td> </tr> </table> </div>
Le fichier xml est de la forme suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 xhr_object.onreadystatechange = function() { if (xhr_object.readyState == 4) { if (xhr_object.status == 200) { var message = xhr_object.responseXML.getElementsByTagName("rootElement")[0]; updateHtmlData(message); } }
Pour parser le fichier xml de retour, aucun probleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <rootElement> <liste> <personne> <nom>toto</nom> <age>31</age> </personne> <personne> <nom>titi</nom> <age>27</age> </personne> </liste> </rootElement>
Mais maintenant, je voudrais remplir mon tableau.
Pour cela j'essais d'atteindre le tag <table> pour y insérer une nouvelle série de <tr><td>#data_nom</td><td>#data_prenom</td></tr>
Pour cela, je fais de la sorte :
Je récupère bien un élement DOM qui est le div.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var div = document.getElementById("listUser");
Par contre, impossible par la suite de naviguer dedans pour atteindre le <table> et lui adjoindre des Childs...
Si je fais :
Ca me retourne false comme si il n'y avait rien dessous...
Code : Sélectionner tout - Visualiser dans une fenêtre à part div.hasChildNodes
J'ai essayé pleins d'autre méthode mais ca me dit toujours qu'il n'y a rien en dessous
Si, j'essais :
C'est pas bon, car cela me dit "Objet requis"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(div.getAttributeNode("nodeTable").name);
Bref, impossible d'accéder au bon endroit et je ne suis pas encore à l'aise avec la manipulation d'un objet DOM.
Quelqu'un saurait comment faire ou aurait une piste ?
Par avance merci.
Mavvv
Partager