Les formulaires peuvent contenir des listes de choix proposant un ou plusieurs items parmi une série d'options possibles.
<select name="Identifiant" size="taille" [multiple]> <option value="Valeur">Label</option> ... </select>
Le nom de la liste de choix permet au fichier destinataire d'identifier l'élément du formulaire afin d'opérer un traitement approprié.
Si la taille de l'élément select est égale à 1, alors une liste déroulante apparaît. Si la taille est supérieure à 1, alors une liste simple apparaît. Dans ce dernier cas, l'attribut multiple permet de créer une liste simple à choix multiples.
Les liste de choix, autorisant le client à sélectionner une seule ou plusieurs options, possèdent un identifiant unique avec des valeurs différentes pour chacun des éléments optionnels.
<select name="situation" size="1"> <option value="Célibataire">Célibataire</option> <option value="Marié(e)">Marié(e)</option> <option value="Concubinage">Concubinage</option> <option value="Pacs">Pacs</option> <option value="Veuf(ve)">Veuf(ve)</option> <option value="Divorcé(e)">Divorcé(e)</option> </select>
<select name="loisirs" size="6" multiple> <option value="Informatique">Informatique</option> <option value="Musique">Musique</option> <option value="Cinéma">Cinéma</option> <option value="Littérature">Littérature</option> <option value="Sport">Sport</option> <option value="Art">Art</option> </select>
Le (ou les) option(s) sélectionnée(s) retourne(nt) ainsi, le nom de l'élément suivi par la (ou les) valeur(s) concernée(s).
Dans le cas d'une sélection multiples, les options non-sélectionnées sont simplement ignorées. En conséquence, en cas d'itérations, seulement les options activées sont prises en compte dans le dénombrement.
situation = Célibataire loisirs = Informatique, Musique, Cinéma
Dans le cas où aucune valeur n'est spécifiée pour chacune des options, alors les labels feront offices de valeur implicites.
<select name="loisirs" size="6" multiple> <option>Informatique</option> <option>Musique</option> <option>Cinéma</option> <option>Littérature</option> <option>Sport</option> <option>Art</option> </select> loisirs = Informatique, Musique, Cinéma
L'extraction des données fournies par le client s'effectue par l'intermédiaire de l'objet Request associée à sa collection Form et le cas échéant l'identifiant de la liste de choix pour plus de précision.
Exemple [voir]Response.Write Request.Form 'retourne situation = Célibataire Response.Write Request.Form("situation") 'retourne Célibataire
<!-- Formulaire --> <html> <body> <form action="traitement.asp" method="post"> <select name="situation" size="1"> <option value="Célibataire">Célibataire</option> <option value="Marié(e)">Marié(e)</option> <option value="Concubinage">Concubinage</option> <option value="Pacs">Pacs</option> <option value="Veuf(ve)">Veuf(ve)</option> <option value="Divorcé(e)">Divorcé(e)</option> </select> <select name="loisirs" size="6" multiple> <option value="Informatique">Informatique</option> <option value="Musique">Musique</option> <option value="Cinéma">Cinéma</option> <option value="Littérature">Littérature</option> <option value="Sport">Sport</option> <option value="Art">Art</option> </select> <br> <input type="submit" name="Soumettre" value="Soumission"> </form> </body> </html> <!-- Fichier destinataire traitement.asp --> <html> <body> <u>L'option sélectionnée par l'utilisateur est :</u><br> <h2><% = Request.Form("situation") %></h2> <h2><% = Request.Form("loisirs") %></h2> <p> <% For Each objElement In Request.Form If Request.Form(objElement).Count > 1 Then For increment = 1 To Request.Form(objElement).Count Response.Write increment & " : " & _ Request.Form(objElement)(increment) & "<br>" Next Else Response.Write Request.Form(objElement) & "<br>" End If Next %> </p> </body> </html> |