Les formes permettent de bâtir des
formulaires de saisies tel que celui ci-dessous. Les données saisies dans ces
formulaires peuvent être transmis à un serveur internet ou sur un compte
d'e-mail. Dans le cadre du html nous ne traiterons que la transmission par
e-mail. Cette étude des formes sera reprise dans le cours de Javascript, celui
de Php, de Java, etc.
Exemple de données transmises par cette forme, vous
recevriez sur votre e-mail, (à condition d'avoir donné comme adresse celle de
votre mail) :
Prénom=Jean-Pierre
Nom=Le Pichon
pass=tutoriaux
Musique=ON
Genre=Masculin
Souhaits=Gontran la chance
Observations,
La case Musique à été coché, elle
est donc transmise, la case Ciné n'aurait pas été coché, elle n'apparaît
pas.
Si un champ de texte est vide, il est
quand même transmis, comme,
Nom =
Tous les éléments d'une forme doivent se trouver entre les
tags, <form> </form>.
Dans le tag form on doit trouver,
l'action qui doit être effectuée
quand le formulaire est rempli, ce peut être,
le lancement
d'un programme informatique, Cgi, java, javascript, etc. Nous le traiterons dans
d'autres tutoriaux.
L'envoi des
données par e-mail, nous écrirons,
action="mailto:nom@mail.com"
la méthode d'envoi des données,
Get, les
données seront ajoutées à l'adresse d'une page internet comme,
http://server.com/cgi-bin/validation.htm?nom=Duron&prenom=jean.....
Ce qui explique les très longues adresses que vous pouvez voir sur votre
navigateur.
Post, les
données sont expédiés directement, c'est l'action dont nous nous servirons
pour un envoi par mail,
action="nom@mail.com" method="Post"
enctype="text/plain", indique que les données expédiées doivent
être considérées comme du texte.
Voici donc le squelette d'une forme expédiant les données
sur l'e-mail nom@mail.com
<form action="nom@mail.com"
method="Post" enctype="text/plain">
Eléments de saisies de données...
</form>
Le type caractérise l'élément.
Type Text,
<Input Type="Text" Maxlength="n"
name="nom" size="n" value="Texte initial">
n est un nombre entier.
Maxlength caractérise le nombre maximum de caractères que
l'élément peut accepter, par exemple, la première fois que vous définissez
un mot de passe le nombre de caractères est le plus souvent limité. Si le
nombre de caractères entré atteint ce nombre vous ne pouvez plus en entrer
d'autres.
size est la longueur de la zone affichée, en nombre de
caractères, si le nombre de caractères entré excède ce nombre, le texte est
décalé vers la gauche.
données transmise, texte présent
dans l'élément.
Exercice,
dans la forme ci-dessous,
créer une forme, nom
"Eltext",
créer un élément texte taille,
(size), 10,
nom, (name), "nom",
faites précéder cet élément du
texte "Nom : "
Vérifiez que la longueur du texte
que vous pouvez entrer n'est pas limitée.
Passez la taille à 40 Correction
Dans une forme,
Ecrire "Entrez un mot de passe
de 8 caractères maximum",
créer un
élément texte taille, (size), 10,
nom, (name), "motpass",
limiter la taille du texte entré à
8 caractères. Correction
Type Password,
même caractéristiques que le type
"text" mais affiche des * à la place des caractères entrés.
<Input Type="Password" Maxlength="n"
name="nom" size="n">
données transmise, texte présent
dans l'élément.
Exercice,
dans la forme ci-dessus,
créer une forme,
Ecrire "Entrez un mot de passe
",
créer un élément password taille,
(size), 10,
nom, (name), "motpass", Corrigé
Type Checkbox, (case à cocher),
<Input Type="Checkbox"
Checked name="nom" value="valeur">
Si Checked est présent la case est
cochée à l'affichage de la page.
La valeur retournée par la case est
ON si elle est cochée, seul la valeur des cases sélectionnées est transmise,
Exemple de données transmise, nom =
On
Cette valeur peut être changée par
value="valeur".
données transmise, nom = valeur
Exercice, dans la forme ci-dessous,
créer une forme,
créer 2 élément case à cocher,
nom, "Musique" et
"Cinema"
Précéder ces éléments des phrases
"Aimez vous la musique", "Aimez vous le cinéma" Corrigé
Introduisez le mot clé checked dans
le tag de l'un de des cases à cocher, vérifiez qu'elle apparaît bien coché
au chargement de la fenêtre.
Type Radio,
Ce type d'élément s'emploie en
groupe. Pour définir un groupe de boutons radio, on leur donne tous le même
nom. Dans un groupe un seul bouton radio peut-être sélectionné.
<Input
Type="radio" Checked name="nom" value="valeur">
Si le mot checked est présent dans
un tag le bouton est sélectionné à l'affichage.
Dans les données transmises quand
vous envoyer la forme, seul la valeur du bouton sélectionné est transmise,
sous la forme,
nom = valeur
Exercice, dans la forme ci-dessus,
Texte dans la
forme "Précisez votre genre",
Créer un
groupe de 4 boutons radio,
nom
"Genre",
précédés
des textes,
Féminin
Masculin
Ne sait pas
Cela n'a aucun sens dans mon système, (ma galaxie)
Trouver des
valeurs pour value appropriées aux textes précédent.
Organisez
votre présentation en 4 lignes, (<br>) Corrigé
Ce serait plus joli si les boutons
étaient alignés dans le plan vertical, on peut réaliser cela avec une table.
Exercice, dans
la forme ci-dessus,
Incluez les
éléments de la forme dans une table de 4 lignes et 2 colonnes. La table est
incluse dans le tag <form> </form> Corrigé
Type Select, Liste déroulante.
Vous pouvez voir un exemple
sur cette page.
Permet de dérouler un liste
d'options, on peut choisir une ou plusieurs option dans une liste.
Structure,
<Select name="nomlist" Multiple>
<option> texte de l'option 1 </option>
<option> texte de l'option 2 </option>
<option> texte de l'option 3 </option>
...... ......
.....
</Select>
La liste est définit par les tags
<Select></Select>.
La présence du mot clé Multiple
signifie que l'on peut sélectionner plusieurs options. dans ce cas la liste
affiche par défaut toutes les options, on peut limiter cet affichage par
size="n", où n est le nombre de ligne affichée.
Les données transmises sont
nomlist = text de l'option
sélectionné
Si la liste comporte le mot Multiple
et que plusieurs options ont été sélectionnées elles seront transmises sous
la forme ci-dessus.
Le mot clé value permet de remplacer
dans les données transmises, le texte de l'option par la valeur de value,
syntaxe,
<option
value="nomOption"> texte de l'option </option>
Données transmises,
nomlist =
nomOption
Mot clé, selected,
si une
option, (ou plusieurs avec multiple), sont affectées du mot selected elles
seront sélectionnées au chargement de la page.
Exemple,
Ecrire
"Faites un choix",
Créer une
forme,
Créer un
liste déroulante, nom Film,
Créer 5
options avec les textes suivant ou d'autres,
Sans opinion, Jamais le dimanche, La mariée était en noir, Les héros sont
fatigués, Tant qu'il y aura des hommes
Sélectionnez
au chargement la première option. Corrigé
Ajoutez le
mot multiple dans le tag select, affichez la page puis limitez l'affichage à 2
lignes. Corrigé
Type Textarea, élément de texte
multilignes,
On peut décider de la largeur de
l'élément, (nombres de colonnes), de sa longueur, (nombre de lignes) et de la
façon dont sont gérés les retours à la ligne.
Syntaxe,
<Textarea name="nomArea"
cols="n" rows="m" wrap="RAL">
Texte à
afficher au chargement...
</Textarea>
cols impose le nombre de caractères
par ligne,
rows, le nombre de lignes,
wrap, gère les retours à la ligne,
à l'aide de trois options,
Off,
condition par défaut, l'élément ne gère pas les retours à la ligne, si vous
continuez à entrer du texte, celui ci se décale, vous devez faire
"Entrée" pour passer à la ligne suivante.
Hard, les
retours à la ligne s'effectue automatiquement et leurs codes sont inclus dans
les données transmises.
Soft, les
retours à la ligne s'effectue automatiquement mais leurs codes ne sont pas
inclus dans les données transmises.
Exemple,
dans la forme ci-dessus,
Créer une forme,
Créer un
élément textarea,
nombre de
colonnes 20,
nombre de
lignes 3,
pas de wrap,
équivalent à wrap="off"
Essayer de
rentrer un texte. Corrigé
mettre le
wrap à hard, si vous entrez du texte en tapant des lettres au claviers, pensez
a faire des espaces tous les 5 à 6 caractères pour simuler des mots, le saut
de ligne se faisant sur un espace. Corrigé
Essayez
wrap="soft", vous ne verrez pas de différences comportementales.
Essayer
différentes valeurs pour cols et rows.
Type Button, boutons poussoirs, se
subdivisent en trois types.
Button,
Syntaxe,
<Input type="Button"
name="nomBouton" value="Texte"
onclick="instructions">
Value contient le texte affiché par
le bouton.
Cliquer sur un bouton déclenche
l'événement onclick, nous verrons son traitement dans le tutorial JavaScript.
Reset, efface les informations
entrées dans la forme,
Syntaxe,
<Input type="Reset"
name="nomBouton" value="Texte">
La fonction du bouton est
pré-programmée, remettre la forme à blanc, généralement en value vous avez
"Effacer".
Exercice,
Créer une
forme,
Créer un
élément text,
Créer un
élément password
Créer un
élément reset, nommé Effacer
Tester que
quand vous appuyer sur Effacer tout ce que vous avez entré dans la forme
s'efface. Corrigé
Submit, expédie la forme,
Syntaxe,
<Input type="submit"
name="nomBouton" value="Texte">
La fonction du bouton est
pré-programmée, envoyer la forme, généralement en value vous avez
"Envoyer".
Exercice,
Créer une
forme,
nom="essaiMail" enctype="text/plain"
method="Post" action="mailto:nom@mail.com"
Créer un
élément text,
Créer un
élément password
Créer un
élément submit, nommé Envoyer Corrigé
Essai à
faire en étant déconnecté d'internet.
Quand vous
pressez le bouton submit, un message s'affiche vous prévenant que vous allez
révéler à votre correspondant votre adresse e-mail et que les données ne
sont pas cryptées.
Si votre programme
de messagerie, (e-mail), est Outlook le message sera mis en réserve dans la
boite d'envoi et vous pourrez le lire et le détruire. Je ne l'ai pas testé
sous Outlook Express. Sur Netscape vous aurez un message d'erreur.
Si vous êtes
connecté, le message sera envoyé, nom@mail.com à ma connaissance n'existe
pas!
Type Hidden, éléments cachés,
Cet élément
sera transmis avec les données de la forme, il n'est pas affiché ce qui peut
éviter qu'il ne soit modifié par le visiteur,
Syntaxe,
<Input type="Hidden"
name="nom" value="data">
exemple si vous avez la même forme
sur différends sites :
<Input type="Hidden"
name="Site" value="Multimania">
Données transmise,
Site=Multimania