Utiliser fieldset et legend pour grouper les options liées
Prévoir une option sélectionnée par défaut quand cela a du sens
Ordonner les options logiquement (alphabétique, fréquente...)
Attributs utiles
Chapitre 8 • Formulaires en HTML
Les attributs des éléments de formulaire permettent de contrôler leur comportement et leur apparence.
Attribut
Description
Exemple
name
Identifiant du champ pour le traitement
name="email"
placeholder
Texte indicatif dans le champ vide
placeholder="Votre email"
required
Rend le champ obligatoire
required
value
Valeur par défaut du champ
value="default"
checked
Case/radio cochée par défaut
checked
disabled
Désactive le champ
disabled
readonly
Champ en lecture seule
readonly
maxlength
Nombre max de caractères
maxlength="100"
pattern
Expression régulière de validation
pattern="[A-Za-z]{3}"
autocomplete
Active/désactive l'autocomplétion
autocomplete="off"
Validation HTML5
Les navigateurs modernes supportent la validation native :
required : Champ obligatoire
type="email" : Valide le format d'email
pattern : Valide contre une regex
min/max : Pour les nombres/dates
minlength/maxlength : Longueur du texte
Personnalisez les messages avec JavaScript si nécessaire.
Exemple complet
Chapitre 8 • Formulaires en HTML
Voici un formulaire complet intégrant les différents éléments abordés dans ce chapitre.
<form action="/inscription" method="post">
<fieldset>
<legend>Informations personnelles</legend>
<label>
Nom complet *:
<input type="text" name="nom" required placeholder="Jean Dupont">
</label>
<label>
Email *:
<input type="email" name="email" required placeholder="email@exemple.com">
</label>
<label>
Mot de passe *:
<input type="password" name="motdepasse" required minlength="8">
</label>
<label>
Date de naissance:
<input type="date" name="naissance">
</label>
</fieldset>
<fieldset>
<legend>Préférences</legend>
<label>
<input type="checkbox" name="newsletter" checked>
Recevoir la newsletter
</label>
<label>Langue préférée:</label>
<select name="langue">
<option value="fr" selected>Français</option>
<option value="en">Anglais</option>
<option value="es">Espagnol</option>
</select>
<label>Comment nous avez-vous connu?</label>
<textarea name="comment" rows="3" placeholder="Amis, publicité..."></textarea>
</fieldset>
<button type="submit">S'inscrire</button>
<button type="reset">Effacer</button>
</form>
Résultat du formulaire
Erreurs fréquentes
Chapitre 8 • Formulaires en HTML
Oublier l'attribut name
<input type="text" placeholder="Nom">
Les données ne seront pas envoyées au serveur
Mauvais type d'input
<input type="text" name="email">
Préférer type="email" pour la validation native
Labels non associés
<label>Nom</label>
<input type="text" name="nom">
Mieux : <label>Nom: <input...></label>
Autres problèmes courants
Formulaires trop longs et complexes
Absence de messages d'erreur clairs
Validation uniquement côté client (toujours valider côté serveur)
Oublier le bouton submit
Ne pas tester avec des données réelles
Solutions
Utilisez des outils comme le validateur W3C
Testez sur différents appareils et navigateurs
Implémentez une validation côté serveur robuste
Fournissez des messages d'erreur clairs et précis
Optimisez pour l'accessibilité (ARIA, navigation au clavier)
En résumé
Chapitre 8 • Formulaires en HTML
Balise <form>
Conteneur principal avec action et method
Champs texte
<input type="text|email|tel...">
Mot de passe
<input type="password">
Boutons
submit, reset et button
Les formulaires HTML sont des outils puissants pour interagir avec vos utilisateurs et collecter des informations. En maîtrisant les différentes balises (<input>, <select>, <textarea>) et leurs attributs (name, required, placeholder), vous pouvez créer des interfaces intuitives et efficaces. N'oubliez pas de toujours tester vos formulaires dans des conditions réelles et de les optimiser pour l'accessibilité. Dans le prochain chapitre, nous aborderons des concepts plus avancés du HTML.