Bonjour,
j'ai un petit problème, je veux lier deux listes déroulantes en ajax, mais la page contenant la requete de la seconde liste ne semble pas bien fonctionner.
xhr_object.responseText n'est pas renseigné.
Lorsque j'exécute le code j'ai le message d'erreur "les données nécessaire pour terminer cette opération ne sont pas encore disponible" + erreur de syntaxe...
Il semble donc que je n'ai aucun retour de requete
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
 
 function afficheListe(f)
{
var l1    = f.elements["LDSect"];
var l2    = f.elements["LDinscri"];
var index = l1.selectedIndex;
if(index < 1)
         l2.options.length = 0;
else{
   var xhr_object = null;
   if(window.XMLHttpRequest) // Firefox
         xhr_object = new XMLHttpRequest();
   else if(window.ActiveXObject) // Internet Explorer
         xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
         else { // XMLHttpRequest non supporté par le navigateur
              alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
              return;}
              xhr_object.open("POST","ajaxLDinscri.php", true);
              xhr_object.onreadystatechange = function() {
              if(xhr_object.readyState == 4)
              alert(xhr_object.responseTexte);
              eval(xhr_object.responseText);
              }
   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   var data = "secteurid="+escape(l1.options[index].value)+"&form="+f.name+"&select=LDinscri";
 
   xhr_object.send(data);
} }
page 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
 
<html>
 
<head>
<script language="Javascript">
</script>
 
</head>
<body>
<script language="javascript" type="text/javascript" src="./js/fonctions.js"></script>
 
<?php
 header('Content-type: text/html; charset=iso-8859-1');
include("./fonction_f.php");
 $connection_pg=ConnectionPg ();
 
 $query  = "SELECT lettreid FROM lettre WHERE secteurid = ".$_POST["secteurid"].";";
 //$query  = "SELECT `lettreid` FROM `lettre` WHERE `secteurid` = 1";
 $query .= " ORDER BY `lettreid`";
 $result=pg_query($connection_pg,$query);
 
 echo 'var o = null;';
 echo 'var s = document.forms["'.$_POST["form"].'"].elements["'.$_POST["select"].'"];';
 echo 's.options.length = 0;';
 while($r = pg_fetch_array($result))
     echo 's.options[s.options.length] = new Option("'.$r["lettreid"].'");';
 
 pg_close($connection_pg);
 
 ?>
 
</body>
</html>
Si quelqu'un pouvait m'aider ça serai sympa