Accueil > HTML > HTML – Les formulaires

HTML – Les formulaires

This entry is part 15 of 23 in the series HTML - Tutoriel
  1. La balise <FORM>
    1. ACTION (URL)
    2. METHOD (Méthode de transmition des données)
    3. NAME (Identification du formulaire)
  2. La balise <INPUT>
  3. Petit sondage…
  4. Les balises <SELECT> et <OPTION> (liste déroulante)
  5. La balise <TEXTAREA> (Zone de texte)

Avec la venue des formulaires dans la spécification HTML, le dialogue document-visisteur est désormais
possible. L’utilisateur du formulaire peut alors passer des données, qui pourront ensuite être
traiter par des Scripts, ou bien envoyés par E-mail.


La balise <FORM>


La balise <FORM> délimite le formulaire. Tout les élements sont compris à l’intérieur,
que ce soit les cases à cocher, les boites de saisie, les boutons d’option…

Il s’agit d’une balise du type conteneur. Il y a donc une balise de départ (<FORM>),
et une balise de fin (</FORM>). Et comme toute balise, il y a des attributs.


ACTION (URL)

L’attribut action précise que faire avec le formulaire. Il n’est obligatoire que si vous
voulez traiter le formulaire avec un Script CGI, ou si vous voulez recevoir le formulaire via
l’e-mail. Il n’en est nul besoin si vous vous servez d’un formulaire visant à être traité avec
du JavaScript.

La valeur de cet attribut doit être une URL. Pour l’envoyer à un CGI, ce sera une URL http://.
Pour le recevoir par e-mail, ce sera bien évidemment mailto:.

Chez Multimania, il y a par exemple un CGI pour traiter les formulaires. L’attribut action
doit pointer sur l’URL /cgi-bin/mailer. Bien sûr, il faut avoir un compte sur Multimania
pour pouvoir s’en servir.


METHOD (Méthode de transmition des données)

Cet attribut définit la façon dont le données du formulaire sont transmises à l’URL désigné par
l’attribut action. Il peut avoir deux valeurs :

  • post les données sont transmises selon le standard établi par le serveur. Si l’attribut
    action renforme une URL du type mailto:, ce sera l’unique valeur
    valide.

  • get les données sont transmises à la suite de l’URL définit par l’attribut action.
    Vous avez certainement déjà été confronté à cette méthode lors de vos nombreux surfs.


NAME (Identification du formulaire)

name permet d’identifier le formulaire dans le document. Il n’est pas nécaissaire pour
un formulaire classique. Par contre, si vous voulez y mêler les formidables capacités de JavaScript,
il sera requis.


La balise <INPUT>


La balise <INPUT> (du type marqueur) est certainement l’élement le plus important
et le plus employé dans la constitution des formulaires. Il peut révêtir plusieurs aspect dans
le document suivant la valeur de son attribut type. Etant un élement des formuaires, il
devra obligatoirement être placé dans le conteneur <FORM>.

Trois attributs sont à mentionner :

  • type pour définir le type d’élement à créer. La valeur à utiliser doit être :

    • text : zone de texte

    • password : zone de texte. Les caractères apparaissent sous formes d’étoiles
      à l’écran.

    • checkbox : case à cocher.

    • radio : bouton radio ou bouton d’option. L’attribut value doit
      obligatoirement être utilisés.

    • submit : bouton de commande. Le formulaire est transmis lors de son appui.

    • image : idem à submit, mais une image peut illustrer le bouton.

    • reset : bouton de commande. Toutes les données du formulaire sont remise à
      à l’état initial lors de son action.

    • hidden : élement masqué, mais existant bien. C’est à dire que les attributs
      name et value sont pris en compte lors du traitement du
      formulaire.

    • file : création d’une zone de texte et d’un bouton parcourir. En cliquant sur
      le bouton, une boite de dialogue d’ouverture de fichier s’ouvre. La sélection d’un
      fichier entraîne l’inscritpion de son nom dans la zone de texte.


  • name pour donner le nom à l’élement, de façon à identifier la donnnée renvoyée par
    le formulaire lors du traitement.

  • value définit l’état inital de l’élement. Sa présence est obligatoire pour les boutons
    d’option.

  • checked permet, lors de l’utilisation de case à cocher ou de boutons d’option, de
    les cocher initialement. C’est un attribut booléan (il se suffit à lui même).

  • disabled désactive un élement. Attention! L’élement est toujours affiché, mais il
    est désactivé, ce qui empêche son utilisation. C’est un attribut booléan.

  • readonly peut être uniquement associé à une zone de texte. Il empêche la modification
    de la valeur.

  • size définit la largeur de l’élement, en pixels, sauf pour les zone de texte où
    la valeur représente le nombre de caractères.

  • maxlength ne concerne que les zones de texte. Il précise le nombre de caractères
    pris en compte.


Voici un exemple de formulaire. Examinez le attentivement. Vous pouvez cliquez-sur le bouton
‘Envoyer’ pour voir l’effet de vos résultat.


<FORM action= »mailto:pcwarrior@multimania.com » method= »post » name= »petitsondage »>
<H3>Petit sondage…</H3>
<INPUT type= »hidden » name= »Sondage »>
<TABLE>
<TR>
<TD valign= »top »>
<PRE>
Login : <INPUT type= »text » name= »login » value= »Indentifiant » size= »20″
maxlength= »15″>
E-Mail : <INPUT type= »text » name= »email » value= »E-Mail » size= »15″>
Mot de passe : <INPUT type= »password » name= »motdepasse » size= »10″>
</PRE>
</TD>
&ltTD valign= »top »>
<PRE>
Fichier : <INPUT type= »file » name= »fichier »>
Nom modifiable : <INPUT type= »text » name= »locked » value= »Je viens sur ce site
7 fois par jour » readonly>
</PRE>
</TD>
</TR>

<TR>
<TD valign= »top »>
<PRE>
Vos impressions sur ce site :
<INPUT type= »radio » name= »Impression » value= »Top » checked>Top
<INPUT type= »radio » name= »Impression » value= »Moyen »>Moyen
<INPUT type= »radio » name= »Impression » value= »Bad » disabled>Bad
<INPUT type= »radio » name= »Impression » value= »No » disabled>Vraiment trop nul
</PRE>
</TD>
<TD valign= »top »>
<PRE>
S’inscrire à la lettre du guerrier :
<INPUT type= »radio » name= »lettre » value= »oui » checked>Oui
<INPUT type= »radio » name= »lettre » value= »non »>Non
</PRE>
</TD>
</TR>
</TABLE>

<PRE>
Vos rubriques préférées sur PC Warrior :
<INPUT type= »checkbox » name= »Rubrique » value= »News, Trucs, Astuces… »>News,
Trucs, Astuces…
<INPUT type= »checkbox » name= »Rubrique » value= »QBasic, QuickBasic »>Qbasic,
QuickBasic
<INPUT type= »checkbox » name= »Rubrique » value= »Visual Basic »>Visual Basic
<INPUT type= »checkbox » name= »Rubrique » value= »Turbo Pascal »>Turbo Pascal
<INPUT type= »checkbox » name= »Rubrique » value= »Delphi »>Delphi
<INPUT type= »checkbox » name= »Rubrique » value= »C++ »>C++
<INPUT type= »checkbox » name= »Rubrique » value= »Assembleur »>Assembleur
<INPUT type= »checkbox » name= »Rubrique » value= »HTML »>HTML
<INPUT type= »checkbox » name= »Rubrique » value= »FREEWARE »>FREEWARE
<INPUT type= »checkbox » name= »Rubrique » value= »ScriptLand »>ScriptLand
<INPUT type= »checkbox » name= »Rubrique » value= »Livre d’Or »>Livre d’Or
<INPUT type= »checkbox » name= »Rubrique » value= »Forum »>Forum
<INPUT type= »checkbox » name= »Rubrique » value= »Va savoir… »>Va savoir…

<INPUT type= »submit » value= »envoyer »><INPUT type= »reset » value= »Remise à zéro »>
<INPUT type= »image » name= »envoyer »
src= »http://www.cybwarrior.com/langages/images/dead.gif »>
</PRE>
</FORM>


Petit sondage…













Login :
E-Mail :
Mot de passe :



Fichier :
Nom modifiable :



Vos impressions sur ce site :
Top
Moyen
Bad
Vraiment trop nul



S’inscrire à la lettre du guerrier :
Oui
Non


Vos rubriques préférées sur PC Warrior :
News, Trucs, Astuces…
Qbasic, QuickBasic
Visual Basic
Turbo Pascal
Delphi
C++
Assembleur
HTML
FREEWARE
ScriptLand
Livre d’Or
Forum
Va savoir…







Avez-vous bien analysé le formulaire? Vous remarquez que pour les boutons d’option (ou boutons
radio) et les cases à cocher, l’attribut name vaut la même valeur.

En effet, pour ces deux types d’élements, un groupe est créer pour tout les élements possédant
le même nom, de façon à avoir des choix distincts.

Vous remarquez que l’élement hidden n’apparaît pas dans le formulaire.

On peut très bien utiliser toute sortes de balises dans un formulaire. Ici, on a utiliser un tableau
pour faire deux colonnes, ainsi que la balise <PRE> pour avoir un alignement
impecable.

Ce formulaire sera envoyé par e-mail. Normalement, une boîte de dialogue apparaît avant son envoi,
vous informant que le formulaire est envoyé par e-mail, et que le destinataire sera en possession
de votre adresse électronique.


Les balises <SELECT> et <OPTION> (liste déroulante)


La balise <SELECT> (du type conteneur) permet de créer une liste déroulante, appelé
aussi ComboBox. Une liste déroulante, c’est ce que vous pouvez trouver en haut de cette
page et qui sert de menu.

Pour définir les élements à mettre dans la liste, on va utiliser la balise du type conteneur
<OPTION>. Elle va venir se positionner à l’intérieur de la balise <SELECT>.

Cette dernière posséde quelques attributs identiques à ceux de la balise <INPUT> :

  • name

  • size

  • disabled


Ces attributs tiennent le même rôle que pour la balise <INPUT>.

La balise <OPTION> posséde l’attribut value en commun avec <INPUT>.
Voici un exemple de liste déroulante :

<FORM>
Quel est le meilleur grimpeur actuel ?<BR>
<SELECT name= »Grimpeurs »>
<OPTION value= »Marco Pantani »>Marco Pantani</OPTION>
<OPTION value= »Richard Virenque »>Richard Virenque</OPTION>
<OPTION value= »Roberto Heras »>Roberto Heras</OPTION>
<OPTION value= »Fernando Escartin »>Fernando Escartin</OPTION>
<OPTION value= »Davide Rebellin »>Davide Rebellin</OPTION>
<OPTION value= »Francesco Casagrande »>Francesco Casagrande</OPTION>
<OPTION value= »Leonardo Piepoli »>Leonardo Piepoli</OPTION>
</SELECT>
</FORM>

Et voici le résultat :

Quel est le meilleur grimpeur actuel ?



La balise <SELECT> posséde néanmoins un attribut qui lui est spécifique :
multiple. L’attribut multiple transforme la liste déroulante en liste tout
court. On peut alors procéder à des choix multiples en maintenant la touche Ctrl
enfoncée.

La balise <OPTION> a elle aussi un argument spécifique : selected. Son
fonctionnement peut être assimilé à celui de l’attribut checked pour la balise
<INPUT>.
Exemple :


<FORM>
Quel sont les plus grands spécialistes des courses d’un jour ?<BR>
<SELECT name= »Coursiers » multiple>
<OPTION value= »Michele Bartoli » selected>Michele Bartoli</OPTION>
<OPTION value= »Oscar Freire » selected>Oscar Freire</OPTION>
<OPTION value= »Laurent Jalabert » selected>Laurent Jalabert</OPTION>
<OPTION value= »Andreï Tchmil »>Andreï Tchmil</OPTION>
<OPTION value= »Franck Vandenbroucke » selected>Franck Vandenbroucke</OPTION>
<OPTION value= »Johan Museeuw »>Johan Museeuw</OPTION>
</SELECT>
</FORM>


Quel sont les plus grands spécialistes des courses d’un jour ?



La balise <TEXTAREA> (Zone de texte)


La balise <TEXTAREA> (du type conteneur) permet de créer une grande zone de texte,
sur plusieurs lignes. Les attributs qu’elle posséde en commun avec la balise <INPUT>
sont :

  • name

  • disabled

  • readonly


Mais elle a en plus les attributs suivants :

  • rows spécifie le nombre de lignes de la zone de texte.

  • cols définie le nombre de colonnes.


Voici un exemple :

<FORM>
<TEXTAREA cols= »80″ rows= »5″>Ceci est une zone de texte TEXTAREA de 80 colonnes
et 5 lignes</TEXTAREA>
</FORM>



Series Navigation«HTML – Les cadres (FRAMES)HTML – Les méta-informations et le réferencement»
Categories: HTML Tags:
  1. ifébo
    09/01/2002 à 23:36 | #1

    J’aurais aimé trouver le moyen de colorer les zones de textes les boutons, et surtout parceque je n’ai pas en core réussi à le faire:
    Colorer le petit bouton des menus déroulants ainsi que la zone texte qui va avec. Cependant j’ai trouvé pour les boutons etles zones de texte simple. Merci de vous pencher sur ce problème.
    Bonne année à CYBWARRIOR

  2. webmaster
    10/01/2002 à 13:45 | #2

    Bonne année à toi aussi :-)

    Pour colorer les zonne de textes des listes déroulantes, il faut utiliser une rêgle de style dans la balise
    Par contre, pour le petit bouton à coté, il faut que je regarde si c’est possible.

    Raphaël

  3. sebfire
    10/03/2010 à 20:22 | #3

    bonjour, je vient de créer un tableau modifiable par tous mai lorsque je clique sur ok rien n’es valider. le champ reste vide je trouve personne qui peu me dire comment celas ce fait!
    voici mon code entier:

    merci d’avance!

    Tableau des matchs

    MATCH

    E-2F
    Equipes
    date/heure
    victoire pour:
    score map E-2F
    score map adversaire
    3émesMap

    Ajouter une ligne

    E-2F

    Supp

    E-2F

    Supp

    E-2F

    Supp

    E-2F

    Supp

    E-2F

    Supp

    E-2F

    Supp

  1. Pas encore de trackbacks