afficher dans un formulaire un menu sans option sélectionnée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher dans un formulaire un menu sans option sélectionnée

par Ryle » 21 avr. 2006, 11:35

C'est toujours ce qui m'énerve sur les listes déroulantes : j'aimerais pouvoir mettre des choses dans la liste qui ne soient pas des choix, comme ce titre "Choisissez...". Mais il faut systématiquement contrôler l'information à la réception pour cela.
A défaut de mieux, tu as la possibilité d'utiliser le tag <optgroup> pour faire des groupes d'options et leur donner un titre. Le titre ne pouvant pas être sélectionné, ca te permet d'écrire des choses dans ta liste :)
Par contre, par défaut à l'ouverture de la page, il sélectionnera quand même la première option :

Code : Tout sélectionner

<select> <optgroup label="PHP"> <option>Version 5</option> <option>Version 4.3</option> <option>Version < 4.2</option> </optgroup> <optgroup label="Javascript"> <option>Version 1.2</option> <option>Version < 1.2</option> </optgroup> </select>
Tiens, j'ai jamais essayé de mettre l'attribut disabled à une option...
Je crains que ce ne soit pas un attribut autorisé de la balise option... ;)

par Hermès » 19 avr. 2006, 09:49

C'est toujours ce qui m'énerve sur les listes déroulantes : j'aimerais pouvoir mettre des choses dans la liste qui ne soient pas des choix, comme ce titre "Choisissez...". Mais il faut systématiquement contrôler l'information à la réception pour cela.

Tiens, j'ai jamais essayé de mettre l'attribut disabled à une option...

par cmils » 19 avr. 2006, 09:13

Je pensais que ce serait plus compliqué de gérer une première option de menu différente des autres, mais en fait ça marche très bien : merci pour le tuyau.

Corinne

par Ryle » 18 avr. 2006, 12:35

Dans un menu déroulant, le premier élément est toujours sélectionné par défaut. Le plus simple si tu n'en sélectionne pas un autre avec selected est simplement d'ajouter une balise <option> contenant par exemple le texte "Choisissez" :
<select name="monSelect">
  <option value="">Choisissez...</option>
  <?
    // ton traitement php pour générer les autres options
  <?
</select>
S'il s'agit d'un champ obligatoire, il te suffit alors juste de controler si la valeur est différente de vide (en php ou javascript), sinon tu retournes un message d'erreur :)

afficher dans un formulaire un menu sans option sélectionnée

par cmils » 18 avr. 2006, 12:22

Bonjour,

Dans un formulaire, je voudrais un menu qui affiche des valeurs provenant d'une table mySql, mais je voudrais que par défaut aucune de ces valeurs ne soit sélectionnée, donc que le menu n'affiche rien au départ.
j'ai fait des essais mais, même si je ne mets "selected" sur aucune des options, le menu affiche toujours la première valeur de la liste.
Y a t'il un moyen de résoudre ce problème ?

Merci d'avance
Corinne