FAQ ASP
FAQ ASPConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 44, dernière mise à jour : 15 juin 2021
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.
<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
%>
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.
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 &
")"
%>