OVH Cloud OVH Cloud

garder la valeur option selected ?

5 réponses
Avatar
Vincent
Bonjour,

Pour une liste déroulante,
histoire de ne pas perdre les valeurs déjà sélectionnées
par l'utilisateur, je fais :

<select name="choix" size=1>
<option value="1" <?if ($choix==1) {print "selected";}?> >item1</option>
<option value="2" <?if ($choix==2) {print "selected";}?> >item2</option>
<option value="3" <?if ($choix==3) {print "selected";}?> >item3</option>
</select>

Ca marche, mais c'était juste pour savoir si on pouvait faire plus court ?
(et peut-être plus sioux ?)

Merci
Vincent
--
http://sommets.org

5 réponses

Avatar
Pimousse
for($i=1;$i<4;$i++){
echo '<option value="'.$i.'"'.($choix==$i?'
selected':'').'>item'.$i.'</option>';
}

non ?

Bonjour,

Pour une liste déroulante,
histoire de ne pas perdre les valeurs déjà sélectionnées
par l'utilisateur, je fais :

<select name="choix" size=1>
<option value="1" <?if ($choix==1) {print "selected";}?> >item1</option>
<option value="2" <?if ($choix==2) {print "selected";}?> >item2</option>
<option value="3" <?if ($choix==3) {print "selected";}?> >item3</option>
</select>

Ca marche, mais c'était juste pour savoir si on pouvait faire plus court ?
(et peut-être plus sioux ?)

Merci
Vincent


Avatar
Vincent

for($i=1;$i<4;$i++){
echo '<option value="'.$i.'"'.($choix==$i?'
selected':'').'>item'.$i.'</option>';
}
non ?


Si. Merci pour la réponse.

Question complémentaire :
Avec ce traitement php pour garder les valeurs saisies,
le fonctionnement standard du bouton
<input type="reset" value="Annuler"> ne marche plus.

svp, est-ce qu'il y a moyen de reseter le select en restant en php.
<form ... onreset="....php">
Google donne des solutions,
mais uniquement avec des fonctions javascript.

Vincent
--
http://sommets.org

Avatar
Tulan
Vincent wrote:
Question complémentaire :
Avec ce traitement php pour garder les valeurs saisies,
le fonctionnement standard du bouton
<input type="reset" value="Annuler"> ne marche plus.

svp, est-ce qu'il y a moyen de reseter le select en restant en php.
<form ... onreset="....php">
Google donne des solutions,
mais uniquement avec des fonctions javascript.


Sans effectuer une retour par le serveur pour qu'il efface les variables
en mémoire il n'y a pas de moyen. Dans ce cas le bouton de reset devient
un bouton submit normal.

Personnellement j'utilise du Javascript.

Avatar
Lascap
Sans effectuer une retour par le serveur pour qu'il efface les variables
en mémoire il n'y a pas de moyen. Dans ce cas le bouton de reset devient
un bouton submit normal.

Personnellement j'utilise du Javascript.


Personnellement moi aussi.
tu remplace le bouton par un <input type="button" onClick="reset();"
value="Annuler">

et tu crée une ptite fonction javascript qui te met ton formulaire avec
toutes les valeurs par défaut que tu auras choisies.

genre
<script language="javascript">

function reset()
{

document.nomDuFormulaire.choix.options.selectedIndex = 1; // de mémoire,
ou quelque chose qui ressemble...

}
</script>

Ptite précision par rapport au type "reset" : il permet de remettre le
formulaire dans l'état où il se trouvait lors du chargement de la page.
C'est donc normal qu'il réagisse comme ça

Lascap

Avatar
Vincent

Vincent wrote:

svp, est-ce qu'il y a moyen de reseter le select en restant en php.
<form ... onreset="....php">
Google donne des solutions, mais uniquement avec des fonctions JS


Sans effectuer une retour par le serveur pour qu'il efface les variables
en mémoire il n'y a pas de moyen.
Dans ce cas le bouton de reset devient un bouton submit normal.


C'est justement là que je ne vois pas bien comment faire.
Bon, de toutes façons avec PHP on reste bien sur le serveur.

Personnellement j'utilise du Javascript.


En attendant de faire mieux, j'ai simplement mis un <a href=...>
qui recharge la page.

Merci pour la réponse.

Vincent
--
http://sommets.org