Bonjour tout le monde,
Je cherche à faire un menu sous forme de liste déroulante. La spécificité que je recherche est que lorsque l'utilisateur sélectionne une entrée de la liste déroulante, il est de suite redirigé.
Pour cela j'ai mis en place un code javascript que j'ai trouvé par là sur le net:
Code :
- <script>
- function Lien() {
- i =document.Choix.Liste.selectedIndex;
- if (i == 0) return;
- url = document.Choix.Liste.options.value;
- parent.location.href = url;
- }
- </SCRIPT>
|
Quand à la liste que j'appelle (eh oui c'est du php pour des raisons pratiques: ma liste est dynamique et générée à partir d'une base de données):
Code :
- echo "<form name=\"Choix\">";
- echo "<select name=\"Liste\" onChange=\"Lien()\">";
- echo "<option><<< Liste des Services >>></option>";
- ------------- connexion à la base, récupération des infos et etc et etc -----------------
- echo "<option value=\"monurl.php?mesvariablesdynamiques=...\">".$data->nom."</option>";
- echo "</select>";
|
Bon je vous ai extrêmement épuré le code en réalité bien plus complexe afin de se recentrer sur mon problème.
Pour une seule liste, le code fonctionne, la liste s'affiche et lorsque l'utilisateur clique sur un choix, il y a redirection. Tout se complique lorsque j'intègre une seconde liste.
Je fais cela dans le même formulaire, c'est pour cela que vous ne voyez pas la balise </form> dans le bout de code, car avant cette derniere je génère d'autres listes.
Une petite recherche et réflexion m'ont indiqués que mon problème venait du nom de mes listes.
Je les ai renommées successivement: Liste1, Liste2, Liste3, Liste4,..... ==> Rien ne fonctionne.
Si je les nomme toutes "Liste" ==> Rien ne fonctionne non plus.
Si je n'en nomme qu'une seule "Liste" ==> Cette dernière uniquement fonctionne...
J'ai même testé de modifier le code js (je n'y connais absolument rien) mais je n'ai pas réussi.
Si quelqu'un a une idée de solution n'hésitez pas .
Merci d'avance.