|
Les formulaires interactifs permettent aux auteurs de pages Web de dialoguer
avec leurs lecteurs, un peu comme les coupons-réponse que l'on trouve
dans les magazines.
Le lecteur saisit des informations en remplissant des champs ou en cliquant sur des boutons,
puis appuie sur un bouton de soumission (submit)
pour l'envoyer soit à un URL, c'est-à-dire de façon générale
à une adresse e-mail ou à un script CGI
(Common Gateway Interface, traduisez "Interface de passerelle généralisée") stocké
sur un serveur et écrit dans un langage de programmation comme un shell UNIX, PERL, TCL, Applescript, etc.
Les formulaires sont délimités par le marqueur <FORM> ... </FORM>,
une balise qui permet de regrouper plusieurs éléments de formulaire (boutons,champs de saisie,...) et qui possède
les attributs obligatoires suivants:
- METHOD indique sous quelle forme seront envoyées les réponses
"POST" est la valeur qui correspond à un envoi de données stockées
dans le corps de la requête, tandis que "GET" correspond à un envoi des données
codées dans l'URL, et séparées de l'adresse du script par un point d'interrogation
(pour plus de renseignement sur les méthodes POST et GET, consultez l'article sur le protocole HTTP)
-
- ACTION indique l'adresse d'envoi (script CGI ou adresse email (mailto:adresse.email@machine))
La balise FORM possède comme attribut facultatif ENCTYPE qui spécifie le codage des données
dans l'URL, toutefois il n'est pas nécessaire de le préciser car la valeur attribuée par défaut
(application/x-www-form-urlencoded) est la seule valeur valide. L'attribut facultatif ACCEPT permet de définir
les types MIME des données pouvant être envoyées par le formulaire.
Voici la syntaxe de la balise FORM:
<FORM METHOD="POST" ou "GET" ACTION="url" ENCTYPE="x-www-form-urlencoded">
...
</FORM>
Voici quelques exemples de balises FORM:
<FORM METHOD=POST ACTION="mailto:jefkillr@club-internet.fr">
<FORM METHOD=GET ACTION="ENVOI ICI"> EXEMPLE
Les formulaires peuvent être mis en page à l'aide de tableaux (cela est même
conseillé pour avoir une mise en page soignée). Voici un exemple récapitulant
les points ci-dessus et montrant comment mettre en page un formulaire à l'aide d'un tableau:
<FORM method=post action="cgi-bin/script.pl">
Enregistrement d'un utilisateur
<TABLE BORDER=0>
<TR>
<TD>Nom</TD>
<TD>
<INPUT type=text name="nom">
</TD>
</TR>
<TR>
<TD>Prénom</TD>
<TD>
<INPUT type=text name="prenom">
</TD>
</TR>
<TR>
<TD>Sexe</TD>
<TD>
Homme : <INPUT type=radio name="sexe" value="M">
<br>Femme : <INPUT type=radio name="sexe" value="F">
</TD>
</TR>
<TR>
<TD>Fonction</TD>
<TD>
<SELECT name="fonction">
<OPTION NAME="enseignant">Enseignant</OPTION>
<OPTION NAME="etudiant">Etudiant</OPTION>
<OPTION NAME="ingenieur">Ingénieur</OPTION>
<OPTION NAME="retraite">Retraité</OPTION>
<OPTION NAME="autre">Autre</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Commentaires</TD>
<TD>
<TEXTAREA rows="3" name="commentaires">Tapez ici vos commentaires</TEXTAREA>
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Envoyer">
</TD>
</TR>
</TABLE>
</FORM>
|