Les formulaires en HTML 4.0

Eléments de base d'un formulaire

Les formulaires ne sont pas une nouveauté en HTML puisqu'ils existent depuis la version 2.0. La balise de base est la balise double <form> et </form> qui contient généralement trois attributs : C'est à l'intérieur de cette balise <form> et </form> que l'on écrit du code HTML standard plus quelques balises spécifiques aux formulaires. Les différentes valeurs de ces balises sont : Tout élément de formulaire peut être désactivé (en général depuis une fonction JavaScript), il suffit de lui ajouter l'attribut "disabled" comme dans le choix du sexe dans le formulaire ci-dessous.
Votre nom :

Votre adresse :

Votre mot de passe :

Le fichier contenant votre photo :

Etes-vous de sexe : Masculin Féminin Autre

Votre poisson préféré est le :

Saumon des Dieux
Mahi-Mahi
Thon rouge
Thon blanc
Thazard

Les boutons

Notons que la nouvelle (HTML 4.0) balise <button> et </button> permet d'obtenir des boutons possédant une image comme dans l'exemple ci-dessous.

Les listes de choix

C'est la balise double <select> </select> qui permet l'introduction d'une liste de choix. L'attribut "size=..." permet de spécifier combien de choix seront visibles dans la fenêtre. Les différentes possibilités de choix sont introduites par la balise <option>

<select name="cours" size=1>

<option value="C_Java">Programmation C et Java</option>
<option value="NT">Windows NT</option>
<option value="unix">Unix</option>
<option value="linux">Linux</option>
<option value="reseau">Réseaux</option>
</select>
Il est possible d'autoriser un choix multiple à l'aide du mot clef "multiple" dans la balise <select> ainsi qu'un choix ou plusieurs choix par défaut par le mot clef "selected" dans la balise <option>

<select name="cours" size=3 multiple>

<option value="C_Java" selected>Programmation C et Java</option>
<option value="NT">Windows NT</option>
<option value="unix" selected>Unix</option>
<option value="linux">Linux</option>
<option value="reseau">Réseaux</option>
</select>

L'exploitation des formulaires

Les résultats fournis par les formulaires sont généralement exploités par des scripts CGI. Le format dépend trés directement des attributs employés dans la balise <form> comme le montre les exemples ci-dessous :

METHOD=post et ENCTYPE="text/plain"

nom=Patrick Capolsini
adresse=BP 6570
Faa'a aéroport
mot_de_passe=bonjour
photo=
sexe=Homme
poisson=Saumon des Dieux
poisson=Thon rouge
poisson=Thon blanc

METHOD=post et ENCTYPE=""

Le résultat est alors envoyé dans un fichier attaché et ressemble à ceci :

nom=patrick+Capolsini&adresse=BP+6570%0D%0AFaa%27a+A%E9roport&mot_de_passe=bonjour%B2&photo=&sexe=Homme&poisson=Saumon+des+Dieux&poisson=Thon+rouge

Les divers champs du formulaire sont séparés par le caractère &, les mots saisis dans les champs sont séparés par le signe + et les sauts de ligne et autre sont représentés par des hiéroglyphes du genre 17%OD%OA.

METHOD=get

La méthode "get" déclenche le chargement du logiciel de courrier électronique ce qui semble pour le moins étrange. Ceci vient du fait que l'attribut ACTION est une simple URL de mail alors que nous devrions faire appel à un script CGI du serveur pour l'envoi du courrier.