Balises de formulaire
Transcription
Balises de formulaire
Balises de formulaire • Les formulaires XHTML permettent de recueillir les informations saisies par un utilisateur, puis de les transmettre à un programme serveur. • Nous verrons : - la structure d’un formulaire - les éléments d’un formulaire 94 • La balise <form> - contient le texte ainsi que les éléments constituant le formulaire • Exemple - Balises de formulaire Structure <form action=”add.php” method=”post”> ... </form> 95 • Attributs - action : (obl) URL du script ou programme qui va traiter les données - accept : précise la liste de types MIME autorisés par le serveur Balises de formulaire Structure - accept-charset : jeu de caractère autorisé par le serveur - enctype : par défaut “application/x-www-form-urlencoded” ou “multipart/form-data” si l’on transmet un fichier. - method : méthode de transfert des données “get” ou “post”. “get” par défaut, les données suivent l’URL. Avec “post”, les données sont envoyées dans une requête séparée. 96 • La balise <input /> - place l’un des contrôle suivant dans un formulaire : ‣ texte, mot de passe, champ masqué ‣ case à cocher ‣ bouton d’option ‣ pièce jointe ‣ bouton graphique ‣ bouton de commande ‣ bouton de soumission Balises de formulaire Elément input 97 • Attributs - name : (obl) identifie le champ de manière unique Balises de formulaire Elément input - type : le type de champ (texte, case à cocher,...) - accesskey : raccourci clavier pour sélectionner le champ - tabindex : position du champ dans la séquence de tabulations - Les autres attributs sont différents selon le type 98 • Le type text ou password - value : permet de remplir le champ avec une valeur par défaut - size : indique la longueur (nombre de caractères) de l’affichage du champ Balises de formulaire Elément input - maxlength : précise le nombre de caractères pouvant être saisis - disable : pour désactiver le champ (disable=”disable”) - readonly : laisse le champ actif, mais interdit la saisie • Exemple - : <input type=”text” name=”pseudo” length=”8” maxlength=”50”> 99 • Le type checkbox (case à cocher) - value : valeur à envoyer au serveur - checked : coche la case au chargement (checked=”checked”) Balises de formulaire Elément input - disable : désactive la case - ici name donne un nom unique à la case 100 • Le type radio - value : valeur est la valeur à envoyer au serveur - checked : active l’option au chargement Balises de formulaire Elément input - disabled : désactive l’option - ici on donne la même valeur à name pour les options du même groupe (un seul choix possible) 101 • Le type file (pour envoyer un fichier) - value : prédéfini un nom de fichier Balises de formulaire Elément input - accept : définit les types MIME autorisés - avec le type file, il faut impérativement passer les attributs suivants à la structure du formulaire : ‣ method=”post” (un fichier ne peut être envoyé dans l’URL) ‣ enctype=”multipart/form-data” 102 • Le type hidden (élément caché) - value : valeur à transmettre au serveur Balises de formulaire Elément input • Le type button - value : l’intitulé du bouton - onclick : script à executer au click 103 • Le type image (bouton graphique) - src : URL de l’image Balises de formulaire Elément input - alt : propose un texte de substitution - usemap : nom de la carte client à utiliser - par défaut cette image ne validera pas le formulaire si elle est cliquée. 104 • Le type submit et reset Balises de formulaire Elément input - value : définit le texte à mettre sur le bouton - submit est un bouton qui valide le formulaire et envoie les valeurs entrées au script - reset est un bouton qui réinitialise le formulaire à ses valeurs par défaut 105 • Exemple : - <form action=”/cgi-bin/script.pl”> Utilisateur : <input type=”text” name=”login” size=”12” /><br /> Mot de passe : <input type=”password” name=”passwd” size=”12” /> <input type=”hidden” name=”browser” value=”ie5” /><br /> Sexe : <input type=”radio” name=”sex” value=”f” />Féminin <input type=”radio” name=”sex” value=”m” />Masculin<br /> <input type=”button” value=”Validation” onclick=”validate()” /> <input type=”submit” value=”Soumetre” /> <input type=”reset” value=”Annuler” /> </form> Balises de formulaire Elément input 106 • La balise <select> - Définit une liste de choix permettant une sélection ou des sélections multiples • Attributs Balises de formulaire Elément select - disabled : désactive le champ - multiple : permet d’effectuer plusieurs choix dans la liste - name : donne un nom unique au champ - size : nombre d’options affichées simultanément - tabindex : position du champ dans la séquence de tabulation 107 • Exemple : - <p>Choisissez une taille :</p> <select name=”size”> <option>Petit</option> <option>Moyen</option> <option>Grand</option> <option>Très grand</option> ... </select> Balises de formulaire Elément select 108 • La balise <option> - Définit une option de l’élément <select> • Attributs Balises de formulaire Elément select - disabled : désactive l’option - label : propose un libellé pour l’option. - selected : sert à présélectionner l’option (selected=”selected”) - value : indique la valeur à passer au navigateur lorsque l’option est sélectionnée. A défaut de la valeur, c’est le texte de l’option qui est utilisé. 109 • La balise <optgroup> - définit un groupe logique d’options. - Balises de formulaire Elément select tous les navigateurs ne supportent pas encore cet élément. • Attributs - disabled : désactive les options du groupe - label : (obl) donne un libellé au groupe d’options 110 • Exemple - <optgroup label=”Premier Trimestre”> <option value=”Jan”>janvier</option> <option value=”Feb”>février</option> <option value=”Mar”>mars</option> </optgroup> ... Balises de formulaire Elément select 111 • La balise <textarea> - crée une zone de texte de plusieurs lignes • Attributs Balises de formulaire Elément textarea - cols : (obl) nombre de caractères autorisés par ligne - rows : (obl) nombre de lignes autorisées - readonly : active le contrôle, mais ne permet pas d’en modifier le contenu - name, disabled, accesskey, tabindex 112 • Exemple - <textarea name=”feedback” rows=”10” cols=”40”> Merci de vos commentaires. Effacez ce texte et tapez vos commentaires à la place. </textarea> Balises de formulaire Elément textarea 113 • La balise <button> - Place un bouton dans le formulaire (≠input) - Tout ce qui est entre <button> et </button> est le contenu du bouton (texte, image, etc...) Balises de formulaire Elément button • Attributs - type : submit, reset ou button en fonction de l’action désirée - value : valeur transmise au serveur lorsque le bouton est cliqué - name, accesskey, disabled, tabindex 114 • Exemple - <button type=”submit”> <img src=”tick.jpg”> </button> Balises de formulaire Elément button 115 • Le balise <fieldset> - regroupe des champs apparentés dans un formulaire. Balises de formulaire Elément fieldset • Attributs - aucun 116 • La balise <legend> - Donne un nom à un groupe de champs • Attributs Balises de formulaire Elément legend - accesskey éventuellement • Exemple - <fieldset> <legend>Identification</legend> Utilisateur : <input .../> Mot de passe : <input .../> </fieldset> 117 • La balise <label> - donne un libellé à un champ de formulaire - indique à l’utilisateur ce qu’il doit saisir dans le champ Balises de formulaire Labels • Attributs - for : correspond à la valeur de l’id du champ auquel il réfère - accesskey : définit un raccourci clavier 118 Labels • Exemple <label for=”usr”>Votre pseudo :</label> <input type=”text” id=”usr” name=”user” /> <br /> <label for=”pw” accesskey=”p”>Votre mot de passe :</label> <input type=”password” id=”pw” name=”passwd” /> 119 • Donnez le code complet du formulaire suivant : Balises de formulaire Exercice • Modifiez le pour avoir le formulaire suivant : 120 Balises de formulaire Correction <form action="/cgi-bin/script.pl" method=”GET”> <fieldset> <legend>Authentification</legend> <label for="txtlogin">Utilisateur : </label><input type="text" id="txtlogin" name="login" size="12" /><br /> <label for="pwdpasswd">Mot de passe : </label><input type="password" id="pwdpasswd" name="passwd" size="12" /><br /> </fieldset> <fieldset> Ton animal préféré : <input type="radio" name="ani" id="rdchien" value="chien" /><label for="rdchien">Chien</label> <input type="radio" name="ani" id=”rdchat”value="chat" /><label for="rdchat">Chat</label> <br />Tes loisirs : <label for="chksport">Le sport </label> <input type="checkbox" name="sport" id="chksport" /> <label for="chklect">La lecture </label> <input type="checkbox" name="lecture" id="chklect" /> </fieldset><br /> <input type="submit" value="Valider" /> <input type="reset" value="Annuler" /> </form> 121 • Reproduisez le formulaire suivant : Balises de formulaire Exercice 2 122