Les formulaires ou forms sont le moyen offert par le language HTML pour générer à l'écran des zones de dialogues avec le visiteur. Comme dans un formulaire papier, on réalise des zones dans lesquelles on entre un texte, des cases à cocher, des listes de choix.
Un formulaire n'est qu'une interface de saisie : il a besoin d'éléments pour traiter l'information qui est collectée. 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
de page web dynamique tel que PHP, ASP ou un script CGI (Common Gateway Interface).
À l'aide de balises HTML, on décrit les zones dans lesquelles l'utilisateur va remplir son formulaire. Chacune de ces zones sera identifiée par un nom symbolique. Lorsque le formulaire est envoyé au programme d'exploitation, celui-ci vérifie l'identificateur de chaque zone et la valeur saisie.
Le formulaire est un objet qui se décompose en trois étapes :
Voici les différents attributs que l'on peut ajouter à différentes balises des formulaires.
Le formulaire contient des balises qui permettent de délimiter des objets à envoyer : case de texte, case à cocher, bouton ... et chaque balise contient au moins 2 paramètres.
Les formulaires sont délimités par la balise <form> </form>, une balise qui permet de regrouper plusieurs éléments de formulaire (boutons,champs de saisie,...) et qui possède plusieurs attributs :
Voici la syntaxe de la balise form :
<form id="form1" method="post" action="url"> ... </form>
Cette balise sert à encadrer un ensemble de champs pour regrouper des objets de même connotation. Exemple : utiliser un fieldset pour les coordonnées personnelles (nom, prénom, adresse), un autre pour les coordonnées bancaires (banque, compte, rib) et un autre pour le choix du produit (quantité, couleur, taille ...). Cette délimitation n'est pas obligatoire mais apporte un plus sur l'aspect ergonomique, simplement parce que lorsqu'on est dans le fieldset des coordonnées, on ne trouvera pas de données relatives au compte bancaire.
La balise input est la balise essentielle des formulaires, car elle permet de créer un bon nombre d'éléments "interactifs". La syntaxe de cette balise est la suivante :
<INPUT type="Nom du champ" value="Valeur par défaut" name="Nom de l'élément"/>
L'attribut name est essentiel car il permettra au script CGI de connaître le
champ associé à la paire nom/valeur, c'est-à-dire que le nom du champ
sera suivi du caractère "=" puis de la valeur entrée par l'utilisateur,
ou dans le cas contraire de la valeur par défaut repéré par l'attribut value.
L'attribut type permet de préciser le type d'élément que
représente la balise INPUT, voici les valeurs que ce champ peut prendre :
<form><input type="radio" checked="checked" name="R1" value="V1" /></form></li>
<form><input type="reset" name="B2" value="Rétablir" /></form>
<form><input type="submit" name="B1" value="Envoyer" /></form>
<form><input type="text" size="20" name="T1" /></form>
Cette balise input possède d'autres attributs :
La balise <textaera> permet de définir une zone de saisie plus vaste par rapport à la simple ligne de saisie que propose la balise <input/>. Cette balise possède les attributs suivants :
Voici la manière dont elle se rédige : <form><textarea name="S1" rows="2" cols="10"></textarea></form>
La balise <select><option>...</option></select> permet de créer un menu déroulant présentant plusieurs <option>. Les options sont caractérisées par un texte et une valeur (attribut value). Les attributs de cette balise sont :
Voici un exemple de menu déroulant :
<form> <select name="D2" size="1"> <option selected="selected">Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option>Choix 4</option> </select> </form>
Voici un autre exmple avec l'attribut multiple :/p>
<form> <select name="select" multiple="multiple" size="4"> <option>Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option>Choix 4</option> </select> </form>
Et un autre exemple avec les attributs multiple et selected :
<form> <select name="D3" multiple="multiple" size="3"> <option selected="selected">Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option selected="selected">Choix 4</option> </select> </form>
Lorsqu'un formulaire est soumis (appui sur le bouton de soumission), les données présentes dans le formulaire sont envoyées au script CGI sous forme de paires nom/valeur, c'est-à-dire un ensemble de données représentées par le nom de l'élément de formulaire, le caractère "=", puis la valeur associée. L'ensemble de ces paires nom/valeur étant séparées entre elles par des esperluettes (caractère &). Les données envoyées ressembleront donc à ceci :
champ1=valeur1&champ2=valeur2&champ3=valeur3Dans le cas de la méthode GET (envoi des données à travers l'URL), l'URL ressemblera à une chaîne du genre :
http://url/cgi-bin/script.cgi?champ1=val1&champ2=val2
N'oubliez pas de mettre un bouton avant votre balise , de façon à permettre la validation du formulaire.