Plusieurs listes déroulantes et Onchange

Petit nouveau ! | 2 Messages

31 août 2008, 20:23

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.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

31 août 2008, 23:28

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>
Modifié en dernier par sadeq le 01 sept. 2008, 14:36, modifié 1 fois.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Petit nouveau ! | 2 Messages

01 sept. 2008, 13:52

Merci enormement Sadeq

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 sept. 2008, 18:04

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.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.