--------------------------------------------------------------------------------

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
<td><select name="dpt_signalant" id="dpt_signalant" OnChange="sendData('dpt='+this.value,'alim_services.php')">

voila le code de la page php appellé
<?php
header('Content-type: text') ; 
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>";
    }    
  }
}
?>

Voila la fonction javascript
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

Je précise que j'ai testé la page php indépendamment et qu'elle fonctionne.
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