IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Les formulaires
        Comment récupérer les valeurs de cases à cocher (checkbox) ?
        Comment récupérer les valeurs d'une liste à selection multiple
        Comment récupérer la valeur d'une image submit ?

rechercher
precedent    sommaire    suivant    telecharger


Comment récupérer les valeurs de cases à cocher (checkbox) ?
auteur : Florian
Il faut tout d'abord considérer 2 cas :
  • les cases à cocher avec valeur : attribut value renseigné dans l'élément checkbox .
  • les cases à cocher sans valeur : attribut value non présent dans l'élément checkbox.
Les cases à cocher se récupèrent ensuite de la même manière que n'importe quel autre champ de formulaire. Tout dépend de la méthode (attribut method) que vous spécifiez dans la balise form.
Si vous avez employé la méthode GET, les données transmises seront disponibles dans la collection QueryString de l'objet Request. Si par contre vous avez employé la méthode POST, elles le seront dans la collection Form de l'objet Request.
Un détail important : seules les checkbox qui ont été cochées apparaitront dans la collection spécifiée. La valeur que vous allez récupérer sera :
  • la valeur (chaine de caractères) de l'attribut value si celui-ci est renseigné dans le formulaire.
  • la chaine de caractères "on" si l'attribut value n'est pas présent dans l'élément checkbox.
Dans le cas d'un groupe de cases à cocher (même valeur pour l'attribut name), deux possibilités s'offrent à vous pour récupérer la valeur de chaque case qui a été cochée :
  • d'une façon globale.
  • en utilisant la propriété Count de la collection spécifiée et en parcourant la collection. Voyons cela sur un exemple simple (les exemples suivants utilisent la méthode POST).
Tout d'abord le formulaire
<form method="post" action="checkboxrecup.asp">
choix1 <input type="checkbox" name="choix" value="val1"><br>
choix2 <input type="checkbox" name="choix" value="val2"><br>
choix3 <input type="checkbox" name="choix" value="val3"><br>
choix4 <input type="checkbox" name="choix" value="val4"><br>
<br>
<input type="submit">
</form>
Admettons que l'on coche choix1, choix2 et choix4.
- De façon globale, nous procéderons ainsi
<%
choix_recup_vals = Request.Form("choix")
Response.Write "choix effectués : " & choix_recup_vals
%>
Ce qui produira la sortie suivante sur l'écran
choix effectués : val1, val2, val4
- En parcourant la collection
<%
for i = 1 to Request.Form("choix").Count
  Response.Write "élément n°" & i & " = " & Request.Form("choix")(i) & "<br>"
next
%>
Ce qui produira la sortie suivante sur l'écran
élément n°1 = val1
élément n°2 = val2
élément n°3 = val4
Remarque : vous noterez que l'index de la valeur (élément i) n'a aucun rapport avec l'emplacement des contrôles dans le code HTML initial. De plus, l'indicage commence à 1 et non à 0. Vous pouvez également procéder d'une autre façon, en utilisant la structure de contrôle For Each
<%
for each checkbox_value in Request.Form("choix")
  Response.Write checkbox_value & "<br>"
next
%>

Comment récupérer les valeurs d'une liste à selection multiple
auteur : Florian
Les listes (élément HTML select) à sélection multiple (attribut booléen multiple) ont exactement le même comportement que les groupes de cases à cocher. Il suffit donc d'employer les mêmes méthodes pour récupérer les choix effectués dans la liste. Voir l'exemple des cases à cocher.


Comment récupérer la valeur d'une image submit ?
auteur : Florian
Par image submit j'entends un bouton image qui sert à envoyer un formulaire.
<form name="leform" method="post" action="page.asp">
...
<input type="image" name="img_envoi" src="image_envoi.gif">
</form>
Après envoi de ce formulaire en ayant cliqué sur l'image, on récupère les coordonnées du point sur l'image, là où a été effectué le clic de souris, les coordonnées étant calculées par rapport au point 0,0 de l'image (haut gauche). Elles sont évidemment stockées dans la collection Form (ou QueryString) de l'objet Request.
<%
Dim Coords_X, Coords_Y
Coords_X = Request.Form("img_envoi.x")
Coords_Y = Request.Form("img_envoi.y")
Response.Write "Vous avez cliqué aux coordonnées (" & Coords_X & ", " & Coords_Y & ")"
%>

rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's

Valid XHTML 1.1!Valid CSS!


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2004 Debug Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.