Page 1 sur 1

Plusieurs listes déroulantes et Onchange

Posté : 31 août 2008, 20:23
par riocyr
Bonsoir,
Je cherche depuis longtemps mais je n'ai pas reussi à trouver. J'ai beau me casser la tête je n'y arrive pas. Voila le probleme:

J'ai 3 listes deroulantes, et je voudrai que a chaque click, la valeur de l'option s'ajoute a l'adresse (la methode GET quoi !!)

Code : Tout sélectionner

<form method="get"> <p> <select name="id1" onchange="document.location='?<?php if (isset($_GET['id2']) and ($_GET['id2'] != NULL)) { echo "id=".$_GET['id2']."&"; } if (isset($_GET['id3']) and ($_GET['id3'] != NULL)) { echo "carte=".$_GET['id3']."&"; } ?>id1='+this.value;" >> <option value="france">France</option> <option value="espagne">Espagne</option> <option value="italie">Italie</option> </select> <select name="id2" onchange="document.location='?<?php if (isset($_GET['id1']) and ($_GET['id1'] != NULL)) { echo "id=".$_GET['id1']."&"; } if (isset($_GET['id3']) and ($_GET['id3'] != NULL)) { echo "carte=".$_GET['id3']."&"; } ?>id2='+this.value;" >> <option value="maroc">Maroc</option> <option value="congo">Congo</option> <option value="zambie">Zambie</option> </select> <select name="id3" onchange="document.location='?<?php if (isset($_GET['id1']) and ($_GET['id1'] != NULL)) { echo "id=".$_GET['id1']."&"; } if (isset($_GET['id2']) and ($_GET['id2'] != NULL)) { echo "carte=".$_GET['id2']."&"; } ?>id3='+this.value;" >> <option value="japon">Japon</option> <option value="chine">Chine</option> <option value="inde">Inde</option> </select> </p> </form>

J'ai cherché mais vraiment je sais pas, pourtant ce type de listes j'en ai vu sur beaucoup de site, je croyais que c'etait assez banale.
Le but est de réduire la partie php apres le Onchange, en fait je compte avoir dans mon script de 4 a 6 listes, et avec 6, faire toutes les possibilités c'est trop chaud :x :x

MErci d'avance et bonne soirée.

Posté : 31 août 2008, 23:28
par sadeq
Il suffit de nommer ton formulaire "form1" par exemple, puis de déclencher son submit dans les événements "onchange" attachés aux listes par l'instruction javascript : form1.submit();

Voici la correction:

Code : Tout sélectionner

<form name="form1" method="get"> <p> <select name="id1" onchange="form1.submit();"> <option value="france">France</option> <option value="espagne">Espagne</option> <option value="italie">Italie</option> </select> <select name="id2"onchange="form1.submit();"> <option value="maroc">Maroc</option> <option value="congo">Congo</option> <option value="zambie">Zambie</option> </select> <select name="id3" onchange="form1.submit();"> <option value="japon">Japon</option> <option value="chine">Chine</option> <option value="inde">Inde</option> </select> </p> </form>

Posté : 01 sept. 2008, 13:52
par riocyr
Merci enormement Sadeq

Posté : 01 sept. 2008, 18:04
par mere-teresa
Modération :
riocyr, si ta question est résolue, pense à ajouter 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 en cliquant sur le bouton Image en haut à gauche de ce sujet.