IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Mise-à-jour liste déroulante


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 57
    Points : 34
    Points
    34
    Par défaut [AJAX] Mise-à-jour liste déroulante
    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
    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 le code de la page php appellé
    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>";
        }    
      }
    }
    ?>
    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
     
     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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    tout est là :
    -> Listes liées (Web 2.0, allez plus loin avec AJAX et XMLHttpRequest)
    -> Listes liées Ajax : XMLHttpRequest ou Jquery ? (discussion)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Sauf erreur de ma part il y a beaucoup d'information intéressante, d'ailleurs je retrouve une des raisons pour laquelle j'ai utilisé jquery, la compatibilité entre les explorateurs, mais j'ai rien trouvé concernant mon problème de liste liées.

    Je le répète ça fontionne très bien quand il n'y a que 2 listes en cascade, mais des qu'une 3eme dépendant de la 2ème est ajoutée celle-ci ne s'alimente pas.Je me demande même si les changement dans la seconde liste sont pris en compte.

    Merci

Discussions similaires

  1. [AC-2003] Mise à jour liste déroulante
    Par cluster26 dans le forum VBA Access
    Réponses: 8
    Dernier message: 22/07/2010, 18h57
  2. Mise à jour liste déroulante
    Par BiBloOo dans le forum Langage
    Réponses: 7
    Dernier message: 10/02/2009, 10h09
  3. [Dojo] Mise à jour liste déroulante, AJAX+Struits
    Par laurent_m dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 20/08/2007, 20h21
  4. mise à jour liste déroulante
    Par stéphane_ais2 dans le forum Access
    Réponses: 32
    Dernier message: 09/11/2005, 16h12
  5. Mise à jour listes déroulantes
    Par mr.t dans le forum ASP
    Réponses: 2
    Dernier message: 20/06/2005, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo