← Retour au cours : HTML de Zéro à Héros
⚠️ Mode Visiteur : Vous lisez ce cours gratuitement.
Créez un compte
pour sauvegarder votre progression et obtenir des badges ! 🏆
Les formulaires HTML - Partie 1
Créer des formulaires interactifs
Les formulaires permettent aux utilisateurs d'envoyer des données au serveur.
Structure de base
<form action="/traitement.php" method="POST">
<!-- Champs du formulaire -->
</form>
action: URL de traitementmethod: GET (URL) ou POST (corps de requête)
Champ texte simple
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom" placeholder="Votre nom" required>
Attributs importants :
type: Type de champid: Lien avec le labelname: Nom envoyé au serveurplaceholder: Texte d'exemplerequired: Champ obligatoire
Types d'input courants
<!-- Email -->
<label for="email">Email :</label>
<input type="email" id="email" name="email" required>
<!-- Mot de passe -->
<label for="password">Mot de passe :</label>
<input type="password" id="password" name="password" minlength="8" required>
<!-- Numéro -->
<label for="age">Âge :</label>
<input type="number" id="age" name="age" min="18" max="100">
<!-- Date -->
<label for="naissance">Date de naissance :</label>
<input type="date" id="naissance" name="naissance">
<!-- Téléphone -->
<label for="tel">Téléphone :</label>
<input type="tel" id="tel" name="tel" pattern="[0-9]{10}">
Zone de texte multilignes
<label for="message">Message :</label>
<textarea id="message" name="message" rows="5" cols="50" placeholder="Votre message ici..."></textarea>
Cases à cocher (checkbox)
<input type="checkbox" id="newsletter" name="newsletter" value="oui">
<label for="newsletter">S'abonner à la newsletter</label>
<input type="checkbox" id="cgu" name="cgu" required>
<label for="cgu">J'accepte les conditions d'utilisation</label>
Boutons radio
<p>Genre :</p>
<input type="radio" id="homme" name="genre" value="homme">
<label for="homme">Homme</label>
<input type="radio" id="femme" name="genre" value="femme">
<label for="femme">Femme</label>
<input type="radio" id="autre" name="genre" value="autre">
<label for="autre">Autre</label>
Important : Même name pour un groupe de radios.
Liste déroulante (select)
<label for="pays">Pays :</label>
<select id="pays" name="pays" required>
<option value="">Sélectionnez un pays</option>
<option value="fr">France</option>
<option value="be">Belgique</option>
<option value="ch">Suisse</option>
<option value="ca">Canada</option>
</select>
Avec optgroup
<select id="ville" name="ville">
<optgroup label="France">
<option value="paris">Paris</option>
<option value="lyon">Lyon</option>
</optgroup>
<optgroup label="Belgique">
<option value="bruxelles">Bruxelles</option>
<option value="liege">Liège</option>
</optgroup>
</select>
Boutons
<!-- Bouton de soumission -->
<button type="submit">Envoyer</button>
<input type="submit" value="Envoyer">
<!-- Bouton de réinitialisation -->
<button type="reset">Réinitialiser</button>
<!-- Bouton normal (JavaScript) -->
<button type="button">Cliquez-moi</button>
Exemple complet
<form action="/inscription" method="POST">
<h2>Formulaire d'inscription</h2>
<label for="nom">Nom complet :</label>
<input type="text" id="nom" name="nom" required>
<label for="email">Email :</label>
<input type="email" id="email" name="email" required>
<label for="password">Mot de passe :</label>
<input type="password" id="password" name="password" minlength="8" required>
<input type="checkbox" id="cgu" name="cgu" required>
<label for="cgu">J'accepte les CGU</label>
<button type="submit">S'inscrire</button>
</form>
Points clés
- <form> englobe tous les champs
- <label> améliore l'accessibilité
- type="email" valide automatiquement
- required rend un champ obligatoire
- name est envoyé au serveur
📝 Vous avez terminé cette leçon ?
Créez un compte gratuit pour sauvegarder votre progression !
Créer un compte gratuit