Problème avec un select

Résolu
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   -  
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous !
Voilà, j'ai un problème vraiment très bête, mais c'est la 1ère fois que je le rencontre et je ne vois pas comment faire...

J'ai un tag select qui est généré en PHP et qui peut ressembler par exemple à ça :
<select name="mon_select" id="mon_select" class="maclass">
   <option value="6" />text 1
   <option value="8" selected="selected" />text 2
   <option value="15" />text 3
</select>


Jusque là tout va bien, si on reprend mon exemple c'est bien "text 2" qui est sélectionné quand on arrive sur la page.
Je change pour sélectionner "text 1" et je valide le formulaire (méthode POST), je traite le formulaire en PHP.

Le souci c'est que la variable $_POST['mon_select'] contient la valeur 8, celle qui est sélectionnée par défaut, au lieu de la valeur 6, celle que j'ai choisie.

J'utilise souvent selected="selected" mais d'habitude quand je le change ben je récupère bien la valeur que j'ai choisie, contrairement à là !
J'ai testé de l'enlever, le selected, et tout fonctionne bien dans ce cas-là.

Auriez-vous des pistes de réflexion pour corriger ce problème ?
Sinon tant pis, je vais utiliser le js pour contourner le pb, mais c'est pas top.

1 réponse

dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
Salut d'aprés moi ça vient de comment tu as écrits tes options:

   <option value="6">text 1</option> 
   <option value="8" selected="selected" >text 2</option> 
   <option value="15" >text 3</option> 
0
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   89
 
Je viens de tester ça marche pas mieux.
0
Joe
 
La syntaxe correcte est :
<option value="8" selected>text 2</option>
au lieu de
<option value="8" selected="selected" >text 2</option>
0
Kopros Messages postés 595 Date d'inscription   Statut Membre Dernière intervention   89
 
Même résultat...
Après quelques tests je crois bien que le problème vient du php.

Bon juste en écrivant ça, ça m'a fait penser à un test que j'avais pas fait, du coup l'erreur venait du traitement en php (une variable que je mettais à jour au mauvais endroit).

En tout cas je vous remercie d'avoir voulu m'aider !
0