FAQ ASPConsultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 44, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireLes formulaires

Il faut tout d'abord considérer 2 cas : 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 : 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 : Tout d'abord le formulaire

  • 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).
  • 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.
  • 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.
 
Sélectionnez
<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

 
Sélectionnez
<%
choix_recup_vals = Request.Form("choix")
Response.Write "choix effectués : " & choix_recup_vals
%>

Ce qui produira la sortie suivante sur l'écran

 
Sélectionnez
choix effectués : val1, val2, val4

- En parcourant la collection

 
Sélectionnez
<%
for i = 1 to Request.Form("choix").Count
  Response.Write "élément " & i & " = " & Request.Form("choix")(i) & "<br>"
next
%>

Ce qui produira la sortie suivante sur l'écran

 
Sélectionnez
é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

 
Sélectionnez
<%
for each checkbox_value in Request.Form("choix")
  Response.Write checkbox_value & "<br>"
next
%>
Créé le 22 février 2013  par 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.

Créé le 22 février 2013  par Florian

Par image submit j'entends un bouton image qui sert à envoyer un formulaire.

 
Sélectionnez
<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.

 
Sélectionnez
<%
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 & ")"
%>
Créé le 22 février 2013  par Florian
  

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-2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.