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 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 xhr.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
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 element.php
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;
 
 
	 ?>