créer un formulaire
Interactions hommes - machines (IHM)
Les formulaires permettent d'étendre les possibilités d'action des personnes qui consultent un document HTML. Ils offrent la possibilité d'introduire des zones de saisie de texte, des listes de choix et des boutons de commandes. Les résultats obtenus pourront être envoyés par courrier électronique ou traités directement par des commandes JavaScript.
Création d'un formulaire
La balise form
Un formulaire est toujours défini entre les balises <form>
et </form>.
La balise <form> est accompagnée des attributs :
- name : pour donner un nom au formulaire
- ACTION : URL qui indique le traitement à effectuer avec le contenu; on peut donner l'adresse d'un script CGI, le nom d'une commande JavaScript ou une adresse d'E-Mail.
- METHOD : pour indiquer la méthode de traitement qui sera GET ou POST; GET convient au transfert de données en quantité limitée vers un script CGI; POST est souvent utilisé pour l'envoi par E-Mail.
Entre les balises <form> et </form> on peut intégrer du code HTML classique ainsi que les différents objets destinés à recevoir les actions de l'utilisateur.
La balise input
La balise input permet de recevoir les saisies de l'utilisateur sous
plusieurs formes. L'attribut type permet de préciser cette forme.
L'attribut name permet de nommer le composant.
-
Ligne de saisie
Elle correspond au typetext. Elle peut être accompagnée des attributssizepour définir la taille de la ligne en caractères etMAXLENGTHpour définir le nombre maximal de caractères à saisir.
Exemple :<input type="text" name="ligne1" size="8" MAXLENGTH="10"> -
Boutons-"radio"s
Ils correspondent au type"radio". Ils sont accompagnés de l'attributvalue. Lorsque plusieurs boutons "radio"s ont le même nom (attribut name), ils fonctionnent de manière conjointe; si l'un est sélectionné, les autres sont désélectionnés.
Exemple :<input type="radio" name="sexe" value="masculin">Monsieur</input> <input type="radio" name="sexe" value="féminin">Madame</input> -
Cases à cocher
Elles correspondent au typecheckbox. Elles sont accompagnées de l'attributvalue.
Exemple :<input type=checkbox name="couleur" value="bleu">Bleu</input> <input type="checkbox" name="couleur" value="rouge">Rouge</input> -
Boutons d'envoi ou d'annulation
Ils correspondent aux types
submitetreset. Ce sont des boutons à cliquer : submit permet de déclencher l'action définie dans la balise form, reset permet d'effacer le contenu du formulaire. L'attribut value permet d'indiquer le texte affiché sur le bouton.
Exemple :<input type="submit" value="Envoyer"></input> <input type="reset" value="Annuler"></input> -
Boutons de commandes
Ils correspondent au typeBUTTON. L'attributvaluepermet d'indiquer le texte affiché sur le bouton. L'attributonclickpermet de lui associer une commande JavaScript qui sera exécutée lorsque l'utilisateur appuie sur le bouton.
Exemple :<input name="bouton1" type="button" value="Vérifier" onclick="alert('Bonjour.')"> </input>
La balise TEXTAREA
La balise textarea permet d'insérer une zone de saisie de texte
à plusieurs lignes. Le texte contenu entre les balises textarea
et /textareaest reproduit dans dans la zone de saisie.
La balise textarea admet les attributs suivants :
- name : nom
- rows : hauteur en nombre de lignes
- cols : largeur en nombre de colonnes
Exemple :
<textarea name="zonetexte" rows="10" cols="30>
Donnez votre opinion dans cette zone.
</textarea>
La balise select
La balise select permet d'insérer une liste de sélection.
Elle est associée à la balise option qui permet d'indiquer
les différents choix proposés par la liste.
La balise select admet les attributs name pour le nom et size pour
le nombre de lignes affichées.
La balise optionadmet l'attribut selectED pour indiquer l'item présélectionné.
Exemple de liste de sélection :
<select name="listechoix" size="4">
<option>Lundi</option>
<option>Mardi</option>
<option>Mercredi</option>
<option>Jeudi</option>
<option selectED>Vendredi</option>
<option>Samedi</option>
</select>
Exemples
Un début de QCM
Nous allons réaliser un formulaire contenant une question et
proposant 4 réponses. L'appui sur le bouton "Vérifier" permettra
d'effectuer un contrôle de la réponse.
On utilise le code suivant :
<form name="qcm1">
<B>Question :</B>
Quelle est la mesure des angles d'un triangle équilatéral ?
<B>Réponses :</B>
<input type="radio" name="choix" value=30>30°</input>
<input type="radio" name="choix" value=45>45°</input>
<input type="radio" name="choix" value=60>60°</input>
<input type="radio" name="choix" value=90>90°</input>
<input type="button" name="bouton" value="Vérifier"
onclick="if (document.qcm1.choix[2].checked) {alert('Bonne réponse.')}
else {alert('Réponse fausse.')}">
</input>
</form>
Lorsque l'utilisateur clique sur le bouton "Vérifier", il
provoque l'évènement onclick qui déclenche l'exécution
du code JavaScript associé. Celui-ci indique que :
- si le bouton radio de numéro 2 (on commence la numérotation
à 0) est sélectionné, on utilise la méthode
alert de la fenêtre pour afficher un message indiquant 'Bonne
réponse.'
- sinon on affiche une fenêtre de message indiquant 'Réponse
fausse.'.
Créer une liste de liens
Le formulaire suivant met en oeuvre une liste déroulante proposant
des liens vers différents sites WEB.
On utilise le code suivant :
<form name="listeliens">
Sélectionnez votre moteur de recherche :
<select name="choix" size=2>
<option value="http://www.altavista.com" selectED>AltaVista</A>
<option value="http://www.yahoo.fr">Yahoo</option>
<option value="http://www.lycos.com">Lycos</option>
</select>
<input type="button" name="bouton" value="GO"
onclick="location.href=
document.listeliens.choix[document.listeliens.choix.selectedIndex].value"}
</form>
Lorsque l'utilisateur clique sur le bouton "Vérifier", il
provoque l'évènement onclick qui déclenche l'exécution
du code JavaScript associé. Celui-ci provoque un changement de l'URL
de la fenêtre en utilisant la propriété value de l'option
sélectionnée.
Le changement d'URL est obtenu en modifiant la propriété
location.href de la fenêtre. Dans le cas d'utilisation
de cadres, on pourra utiliser parent.frames[i].location.href
où i est le numéro du cadre visé.
Le numéro de l'option sélectionnée est obtenu grâce à la propriété selectedIndex de la liste.
A faire vous même (Niveau 1) :
Votre mission consiste à créer pour votre site une page permettant à un visiteur de se tester sur l'histoire de l'informatique qui se trouve sur votre site.
A faire vous même (Niveau 2) :
Votre mission, si vous l'acceptez, consiste à créer pour votre site une page permettant à un visiteur de se tester sur l'histoire de l'informatique qui se trouve sur votre site et lui permettre d'entrer en contact avec vous par E-Mail en indiquant :
- ses nom et prénom
- sa tranche d'âge, à choisir dans une liste
- son adresse électronique
- une évaluation générale, à sélectionner avec des boutons-"radio" dans une échelle allant de 'Excellent' à 'Nul'
- une opinion générale sur votre site et son contenu, sous forme de texte libre.