Salut tous le monde,
Y a-t-il qq1 qui peut m'aider à trouver le(s) erreurs(s) dans mes codes car celui de javascript n'affiche rien. ( la liste est toujours vide)
Le principe consiste à remplir une liste javascript, par XML créée en PHP
Merci d'avance.
Mon code Html
Code xhr.js
Code html : 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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="xhr.js" type="text/javascript"></script> </head> <body> <form id="form1" name="form1" method="post" action=""> La liste des élèments: <select name="element" id="element" > </select> </form> </body> </html>
code element.php
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 window.onload = recuperation_elements(); function recuperation_elements() { var vxhr = testxhr(); if (vxhr) { vxhr.onreadystatechange = function(){ if (vxhr.readyState==4 && vxhr.status== 200 ) { exploiter_elements(vxhr.responseXML); } } vxhr.open("GET" , "element.php" , true); vxhr.send(null); } else { alert("un problème de XMLHttprequest") } } function exploiter_elementst(arg) { var xx= arg.getElementsByTagName('AA'); var nb = xx.length; alert(nb);// cet alert m'affiche toujours un zéro for (var i = 0 ; i< nb ; i ++ ){ var yy = xx[i]; var lib = yy.getElementsByTagName('BB')[0].childNodes[0].nodeValue var dir = yy.getElementsByTagName('CC')[0].childNodes[0].nodeValue nouvel_element = new Option(lib,dir,false,false); document.form1.element.options[document.form1.element.length] = nouvel_element; } } function testxhr() { var xhr = null; 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; } return xhr; }
Code php : 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 <?php require_once("MesFonctionsPhp.php"); session_start(); header('Content-Type: text/xml'); header('Cache-Control: no-cache, must-revalidate'); $connexion = connexion($_SESSION['host'],$_SESSION['user'],$_SESSION['passe'],$_SESSION['base']); $resultat = mysql_query( "SELECT * FROM table1 order by abc;") ; $xml = '<?xml version="1.0" encoding="utf-8"?>'; $xml .='<XX>'; while($ligne = mysql_fetch_array($resultat)){ $xml .='<AA>'; $xml .='<BB>'.$ligne['abc'].'</BB>'; $xml .='<CC>'.$ligne['libelle'].'</cc>'; $xml .='</AA>'; } $xml .='</XX>'; echo $xml; ?>
Partager