L’élément button : submit, reset et button
Déclenchez l’envoi ou la réinitialisation d’un formulaire, ainsi que des actions personnalisées, avec des boutons.
L’élément button : submit, reset et button est une leçon HTML Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage HTML Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours HTML Academy comprend 4 leçons au total.
L’élément button
L’élément <button> est le principal moyen de créer des commandes cliquables :
<button type="submit">Submit</button>
<button type="reset">Clear Form</button>
<button type="button">Do Something</button>
<!-- Three types, each with a different default behavior -->
<!-- Always specify type — the default is submit inside forms -->type=submit
type="submit" envoie le formulaire lorsque vous cliquez dessus :
<form action="/register" method="post">
<input type="email" name="email">
<button type="submit">Create Account</button>
</form>
<!-- Triggers form validation, then sends the form data -->
<!-- Also triggered by pressing Enter in most text inputs -->type=reset
type="reset" efface tous les champs du formulaire et leur redonne leurs valeurs par défaut :
<form>
<input type="text" name="name" value=""> <!-- empty default -->
<input type="number" name="qty" value="1"> <!-- default: 1 -->
<button type="reset">Clear</button>
</form>
<!-- Clicking reset restores qty to 1 and clears name -->
<!-- Use sparingly — users often accidentally reset forms -->type=button
type="button" n’a aucun effet par défaut — associez-y du JavaScript :
<button type="button" id="toggle-theme">Toggle Dark Mode</button>
<script>
document.getElementById('toggle-theme').addEventListener('click', () => {
document.body.classList.toggle('dark');
});
</script>
<!-- type="button" prevents accidental form submission
Always use this for non-submit buttons -->button et input[type=submit]
<button> est préférable à <input type="submit"> :
<!-- Old way (limited): -->
<input type="submit" value="Submit">
<!-- Modern way (flexible — can contain HTML): -->
<button type="submit">
<svg><!-- icon --></svg>
Submit Form
</button>
<!-- button can contain icons, emphasis, and any inline HTML
input type=submit can only have plain text via the value attribute -->Bouton désactivé
Désactivez un bouton avec l’attribut disabled :
<button type="submit" disabled>Submit</button>
<!-- Disabled buttons:
- Cannot be clicked
- Not in tab order
- NOT submitted with the form
- Browser renders them grayed out -->
<!-- Enable/disable with JavaScript: -->
btn.disabled = true;
btn.disabled = false;Modèle d’état de chargement
Affichez l’état de chargement pendant l’envoi d’un formulaire :
<button type="submit" id="submit-btn">
<span id="btn-text">Submit</span>
<span id="btn-spinner" hidden aria-hidden="true">⏳</span>
</button>
<script>
form.addEventListener('submit', () => {
document.getElementById('submit-btn').disabled = true;
document.getElementById('btn-text').textContent = 'Submitting...';
document.getElementById('btn-spinner').hidden = false;
document.getElementById('btn-spinner').removeAttribute('aria-hidden');
});
</script>Remplacements de formaction et formmethod
Remplacez l’action ou la méthode du formulaire pour un bouton spécifique :
<form action="/save" method="post">
<input type="text" name="title">
<!-- Save: uses form defaults -->
<button type="submit">Save Draft</button>
<!-- Publish: overrides action and method -->
<button type="submit" formaction="/publish" formmethod="post">
Publish Now
</button>
</form>Bouton avec ARIA
Les boutons personnalisés ont besoin d’ARIA s’ils ont une apparence différente de celle des boutons natifs :
<!-- Icon-only button -->
<button type="button" aria-label="Close dialog">
<svg aria-hidden="true"><!-- X icon --></svg>
</button>
<!-- Toggle button -->
<button type="button" aria-pressed="false" id="bold-btn">
Bold
</button>
<script>
document.getElementById('bold-btn').addEventListener('click', function() {
const pressed = this.getAttribute('aria-pressed') === 'true';
this.setAttribute('aria-pressed', !pressed);
});
</script>Bonnes pratiques d’accessibilité des boutons
Liste de contrôle de l’accessibilité des boutons :
- Indiquez toujours
type— ne vous fiez jamais à la valeur par défaut - Utilisez
aria-labelpour les boutons contenant uniquement une icône - Utilisez
aria-pressedpour les boutons de bascule - Boutons désactivés : envisagez d’utiliser
aria-disabled="true"et JavaScript pour qu’ils restent accessibles au focus - N’utilisez jamais
<div>ou<span>comme boutons
Zone de clic et cibles tactiles
Les boutons doivent avoir une zone tactile suffisamment grande pour les utilisateurs d’écrans tactiles :
button {
min-height: 44px; /* Apple HIG minimum */
min-width: 44px; /* WCAG 2.5.5 (AAA) recommends 44x44 -->
padding: 0.5rem 1rem;
cursor: pointer;
}
/* Increase tap area without changing visual size: */
button {
position: relative;
}
button::before {
content: '';
position: absolute;
inset: -8px;
}Vérification rapide
Que se passe-t-il si vous omettez l’attribut type sur un bouton placé dans un formulaire ?
Récapitulatif : élément button
Points essentiels concernant les boutons :
type="submit"— envoie le formulairetype="reset"— réinitialise tous les champs à leurs valeurs par défauttype="button"— aucun comportement par défaut ; associez-y du JavaScript- Indiquez toujours type — la valeur par défaut est submit
- Préférez
<button>à<input type="submit"> - Utilisez
aria-labelpour les boutons contenant uniquement une icône
Apprends HTML avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 40
- Leçons
- 159
Questions Fréquemment Posées
La leçon « L’élément button : submit, reset et button » est-elle gratuite ?
Oui — le texte complet de « L’élément button : submit, reset et button » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours HTML Academy, passe à CoddyKit PRO. Le cours HTML Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « L’élément button : submit, reset et button » ?
Déclenchez l’envoi ou la réinitialisation d’un formulaire, ainsi que des actions personnalisées, avec des boutons. Tu pratiques HTML Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer HTML Academy ?
Aucune expérience préalable n'est requise. HTML Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « L’élément button : submit, reset et button » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon HTML Academy ?
Oui. Chaque leçon HTML Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- L’élément form : action, method et enctype
- Types d’input : text, password, email, number et tel
- L’élément label et l’accessibilité
- L’élément button : submit, reset et button