actions liste déroulante

Invité
Invité n'ayant pas de compte PHPfrance

14 mars 2007, 18:35

Bonjour à tous,
J'ai créé une simple liste déroulante, avec une fonction onchange pour rediriger une url:
<form>
<select class="" id="Liste1" onChange="Lien(this.id)">
<option value="http://www.google.fr">Votre choix</option>
<option value="http://www.url1.fr">URL1</option>
<option value="http://www.url2.fr">URL2</option>
<option value="http://www.url3.fr">URL3</option>
</select>
</form>
La redirection fonctionne pour tous les items de la liste, sauf le 1er qui est sensé renvoyer sur google.fr quand on est sur un autre item de la liste et qu'on sélectionne "Votre choix".

Savez-vous pourquoi ma fonction Lien(this.id) nen se déclenche pas quand on sélecrtionne le 1er élément?

Merci pour vos réponses.

Eléphanteau du PHP | 17 Messages

14 mars 2007, 18:50

Essaie de mettre une premiere valeur qui ne sert à rien. Par exemple :

Code : Tout sélectionner

<select class="" id="Liste1" onChange="Lien(this.id)"> <option value="">Votre choix</option> <option value="http://www.google.fr">Google</option> <option value="http://www.url1.fr">URL1</option> <option value="http://www.url2.fr">URL2</option> <option value="http://www.url3.fr">URL3</option> </select>
+ une petite modif dans ta fontion Lien() qui dit que si value == "" alors pas de redirection.


En fait, le premier lien ne fonctionne pas, car tu as utilisé la fonction onchange :

Tu arrives sur ta liste, l'option sélectionnée par défaut est "www.google.fr"

Si tu le re-sélectionnes, l'option n'aura pas changé est restera la même : www.google.fr

Vu que l'option ne change pas, la fonction onchange n'intervient pas.

Invité
Invité n'ayant pas de compte PHPfrance

14 mars 2007, 19:45

merci!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 mars 2007, 20:54

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton [Mettre Résolu] qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer