Bonjour à tous,
je suis en tain de développer une petite application en php, et je voulais mettre à jour une liste déroulante en fonction du choix d'une autre.
J'vais déja fait un truc dan,s le même genre et j'ai repris le code, mais ça ne fonctionne pas.
J'ai essayé de debbuger chaque morceau mais pas moyen de trouver le problème.
Donc votre aide sera la bienvenue car je commence à perdre beaucoup de temps.
Je précise que l'appel se fait depuis un formulaire dans un template (smarty) et que mes fonction sont incluse dans une page main.tpl.
Voila un extrait de l'appel dpuis la liste déroulante source
voila le code de la page php appellé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <td><select name="dpt_signalant" id="dpt_signalant" OnChange="sendData('dpt='+this.value,'alim_services.php')">
Voila la fonction javascript
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 <?php header('Content-type: text;charset=iso-8859-1') ; require_once("config.inc"); // test des POST emis if(isset($_POST['dpt_signalant']) && !empty($_POST['dpt_signalant']) ) { $dpt=$_POST['dpt_signalant']; //recuperation département $query = <<<QUERY SELECT * FROM dys_services WHERE dys_dpt_id='$dpt' QUERY; $res_dpt = $db->query($query); // $i = initialise le variable i if ($res_dpt[0]['dys_dpt_id']=="") { echo utf8_encode("Pas de service diponible pour ce Département"); } else { foreach($res_dpt as $key=>$val) { echo "<option value=".utf8_encode($val['dys_services_id']).">".utf8_encode($val['dys_services_nom'])."</option><br>"; } } } ?>
Je précise que j'ai testé la page php indépendamment et qu'elle fonctionne.
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 function sendData(param, page) { if(document.all) { //Internet Explorer var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; }//fin if else { //Mozilla var XhrObj = new XMLHttpRequest(); }//fin else //définition de l'endroit d'affichage: //var content = document.getElementById("contenu"); XhrObj.open("POST", page,true); //Ok pour la page cible XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) //content.innerHTML = XhrObj.responseText ; alert(XhrObj.responseText); } XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(param); }//fin fonction SendData
Par contre comme vous le voyez dans le javascript j'ai fais un affichage du retour et la c'est vide...
Je sais plus ou chercher l'erreur.
Merci de votre aide
Partager