par
jojolapine » 02 mars 2014, 21:29
Bonsoir,
Le principe est de mettre en place un formulaire soumit en javascript (simplement pour éviter d'avoir un bouton supplémentaire à cliquer.)
ça donnerait donc ça :
<form action="" method="get" id="monformulaire">
<select onchange="document.getElementById('monformulaire').submit()">
<OPTION SELECTED>Change value</OPTION>
<OPTION value="1">Valeur 1</OPTION>
<OPTION value="2">Valeur 2</OPTION>
</select>
</form>
Ensuite pour "ne pas toucher" aux autres variables déjà présente dans l'url, il faudra ajouter des inputs de type hidden de cette manière :
<form action="" method="get" id="monformulaire">
<?php
// on test l'existence de la variable avant de l'ajouter afin
// de ne pas ajouter inutilement la variable à l'url
if(isset($_GET['module'])){
?>
<input type="hidden" name="module" value="<?php echo htmlspecialchars($_GET['module']);?>" />
<?php
}
?>
<select onchange="document.getElementById('monformulaire').submit()">
<OPTION SELECTED>Change value</OPTION>
<OPTION value="1">Valeur 1</OPTION>
<OPTION value="2">Valeur 2</OPTION>
</select>
</form>
Une manière élégante de conserver toutes les variables de l'url serait de parcourir le tableau $_GET et de générer les input hidden correspondant, en excluant l'entrée correspondant à ton select (sui n'a pas d'attribut name d'ailleurs

)
Bon courage !
Cordialement,