Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
<form action="page.asp" method="post|get"> Eléments du formulaire... </form>
L'attribut action pointe un fichier destinataire des données saisies par le client. Cette cible, une page ASP, posséde des scripts VBScript ou JScript permettant de traiter les informations contenues dans le formulaire.
Les méthodes POST ou GET définissent le type de transmission à utiliser dans le traîtement du formulaire vers le serveur. POST envoie le fichier complet au serveur alors que GET se sert de la variable QUERY_STRING pour transmettre les informations.
Les informations saisies par un utilisateur dans les éléments d'un formulaire peuvent être récupérées par l'intermédiaire de l'objet Request.
La collection Form contient toutes les valeurs entrées dans les éléments d'un formulaire.
L'extraction des données à partir d'une collection Form s'effectue comme suit :
Request.Form
Les données retournées par l'utilisateur répondent à la construction suivante :
NomElt=Valeur&Nom_Elt2=Valeur2&...&Nom_EltN=ValeurN
Cette forme semble peu pratique pour une utilisation ultérieure des valeurs dans des programmes ASP.
Une autre forme permet d'extraire les valeurs plus précisément.
Request.Form(Nom_Elément)
Il est également possible de remplacer le nom de l'élément par un indice représentant la position de l'élément concerné, en sachant que l'élément le plus haut dans le formulaire, possède un indice égal à 1.
Request.Form(Indice)
Dans les deux cas, la valeur retournée est unique et se réfère exactement à l'élément spécifiée.
... <input type="text" name="Nom"> <input type="text" name="Prénom"> <input type="text" name="Pseudonyme"> ... 'Retourne la valeur de l'élément Nom Response.Write Request.Form("Nom") 'Retourne la valeur de l'élément Prénom Response.Write Request.Form("Prénom") 'Retourne la valeur de l'élément Pseudonyme Response.Write Request.Form(3) ...
Par ailleurs, deux méthodes permettent de parcourir les éléments de la collection Form.
For increment = 1 To Request.Form.Count Element = Element & Request.Form(increment) & "<br>" Next
For Each objElement In Request.Form Element = Element & Request.Form(objElement) & "<br>" Next
Enfin, la gestion des élements à valeurs multiples d'un formulaire peut s'effectuer également par l'intermédiaire de la structure ci-dessous.
<!-- Formulaire --> <html> <body> <form action="reponse.asp" method="post"> <input type="text" name="PrenomFrereSoeur"> <input type="text" name="PrenomFrereSoeur"> <input type="text" name="PrenomFrereSoeur"> <input type="text" name="PrenomFrereSoeur"> <input type="text" name="PrenomFrereSoeur"> </form> </body> </html> <!-- Page de réponse reponse.asp --> <html> <body> For Each objElement In Request.Form If Request.Form(objElement).Count > 1 Then For increment = 1 To Request.Form(objElement).Count Element = Element & Request.Form(objElement)(increment) _ & "<br>" Next Else Element = Element & Request.Form(objElement) & "<br>" End If Next </body> </html>