*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Mai 2012 à 07:19:22

Connexion avec identifiant, mot de passe et durée de la session



 

Liste deroulante dynamique


« sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Fil de discussion: Liste deroulante dynamique  (Lu 1294 fois)
sharuru
Nouveau membre
*

Points gagnés: 0
Messages: 2


Voir le profil
Liste deroulante dynamique
« le: 09 Juin 2007 à 08:02:44 »

Bonjour,

Encore un sujet bien rode et assez repandu dans le web, mais malheureusement je n'ai pas trouve de solution a mon probleme.

Comme d'habitude avec les listes deroulantes dynamiques, j'ai une premiere liste dans laquelle je choisi une categorie. A la selection, une seconde liste se met a jour pour ne laisser le choix qu'aux sous categories correspondantes.

Seulement a ce moment la, mozilla ne reconnait plus dans le formulaire ma seconde liste, et donc la validation de ce formulaire ne transmet pas le choix de la sous categorie. Lorsque je fait "afficher les informations de la page" et que je ne touche rien je vois bien la seconde liste deroulante avec son nom et sa valeur, mais des que je choisis qque chose dans la categorie principale les informations concernant la seconde liste disparaissent des "informations de la page"

Voici les bouts de code incrimines :

Affichage de la seconde liste :
echo '<div id="champ2"  style=\'display:inline\' >';
echo '<select name="id_etape">';
$requete = "SELECT * FROM etape WHERE filtre='".$filtre."'";
$bdd = mysql_query($requete);
while($d = mysql_fetch_array($bdd)){
   echo '<option value="'.$d['id_etape'].'">'.$d['afficher'].'</option>';
}
echo '</select>
echo '</div>';

Code javascript utilise :
function envoyerSecondeListe(param, page)
{      //trucs preparatoires pour faire la requete en fonction des navigateurs
...
   //définition de l'endroit d'affichage:
   var content2 = document.getElementById("champ2");
   
   XhrObj.open("POST", page, true);

   XhrObj.onreadystatechange = function()
   {
      if (XhrObj.readyState == 4 && XhrObj.status == 200)
      {         
         tmp = XhrObj.responseText;
         content2.innerHTML = tmp;
         
      }   
   }

   XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   XhrObj.send(param);
}

Enfin la page appellee dans la fonction javascript et qui me renvoit le code pour afficher la seconde liste de choix :
//connection a la base de donnees
echo '<select name="id_etape">';
$requete = "SELECT * FROM etape WHERE filtre='".$filtre_special."'";
$bdd = mysql_query($requete);
while($d = mysql_fetch_array($bdd)){
   echo '<option value="'.$d['id_etape'].'">'.$d['afficher'].'</option>';
}
echo '</select>';

Voila, c'est un code tres simple mais qui visiblement ne marche pas.
Pour preciser, mon formulaire est a l'interieur d'un immense tableau (dans le genre :
<form><table>...</table></form>), je ne sais pas si ca joue mais bon... J'ai tente d'ailleurs de mettre ma liste de choix a l'exterieur du tableau et ca ne resoud pas le probleme.

Si quelqu'un a une piste, ou a besoin d'autres informations pour m'aider a resoudre ca, ce sera le bienvenu.

@+
Journalisée
sharuru
Nouveau membre
*

Points gagnés: 0
Messages: 2


Voir le profil
Re : Liste deroulante dynamique
« Répondre #1 le: 12 Juin 2007 à 02:31:07 »

Resolu !

En fait c'etait un probleme de balises : comme le formulaire depassait le tableau il faut prendre soin de bien encadrer <form>...<table>...</table>...</form> et ca marche impec.

@+
Journalisée
Pages: [1] Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  

Powered by SMF 1.1.12 | SMF © 2006, Simple Machines LLC

Page générée en 0.133 secondes avec 18 requêtes.