Javascript problème select onChange

Résolu/Fermé
f123b Messages postés 7 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 5 septembre 2009 - 1 sept. 2009 à 04:52
f123b Messages postés 7 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 5 septembre 2009 - 5 sept. 2009 à 16:11
Bonjour,

j'ai fait un formulaire avec un select dans un fichier product.php

<form method="GET" name="form" action="product.php">
<select name="plusmoins" onChange="this.form.submit();">
<option value="default_ranking">defaut</option>
<option value="totalprice_ascending">prix croissant</option>
<option value="totalprice_descending">prix decroissant</option>
</select>
</form>


A chaque évênement onChange le fichier product.php est rechargé, les options sont passées dans l'url, et les produits sont classés.
Par exemple si on veut classer les produits par prix croissant: l'url product.php devient product.php?plusmoins=totalprice_ascending
Jusque la tout fonctionne.

Par contre quand la page se recharge l'option selectionner se remet par defaut:
pour reprendre le même exemple, les produits sont bien classés par prix croissants mais l'option selectionnée par defaut dans le select n'est pas totalprice_ascending, elle reste a default_ranking.

Comment peut on faire pour que l'option qu'on selectionne, qui crée l'évênement onChange reste selectionnée après le submit(après le rechargement de la page)?

je pense que c'est un problème tout bète mais je n'ai trouvé aucune reponse dans le forum, dans les tutoriels et je suis trop novice en javascript pour trouver la solution, j'ai essayé d'adapter des bouts de code sans succès.

Merci d'avance.

2 réponses

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
1 sept. 2009 à 09:53
Bonjour,

j'aurais fait un truc du genre (je n'ai pas testé le code il est peut-être à modifier):

<form method="GET" name="form" action="product.php">
<select name="plusmoins" onChange="this.form.submit();">
<option <?php if(!$_GET["plusmoins"]){echo  selected;} ?> value="default_ranking">defaut</option>
<option <?php if($_GET["plusmoins"]=="totalprice_ascending"){echo selected;} ?> value="totalprice_ascending">prix croissant</option>
<option <?php if(($_GET["plusmoins"]=="totalprice_ascending"){echo  selected;} ?> value="totalprice_descending">prix decroissant</option>
</select>
</form> 
1
f123b Messages postés 7 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 5 septembre 2009
5 sept. 2009 à 16:11
Merci beaucoup, ca marche très bien.
0