OUJOOD.COM
Qu'est-ce que la balise <button> ?
LES BALISES HTML
La balise <button> définit un bouton cliquable dans un document HTML. Contrairement à la balise <input type="button">, la balise <button> peut contenir du HTML enrichi : texte formaté, images, icônes, et autres éléments. Cette flexibilité en fait un choix privilégié pour créer des boutons visuellement attractifs et personnalisés.
Point clé : La balise <button> nécessite toujours une balise de fermeture </button>. C'est un élément de formulaire au même titre que <input>, <select> et <textarea>.
Syntaxe et utilisation de base
La balise BUTTON permet de créer un contrôle de type bouton utilisable au sein d'un formulaire <form>. Vous pouvez placer du code HTML à l'intérieur de l'élément button, ce qui le distingue fondamentalement des boutons créés avec la balise <input>.
Structure de base :
Exemple : 📋 Copier le code
<button type="button">Cliquez ici</button>
Les types de boutons
L'attribut type définit le comportement du bouton. Il existe trois valeurs possibles :
1. type="submit" (soumission)
Le type submit valide et envoie le formulaire dans lequel il est contenu. Il est équivalent à la fonction JavaScript submit(). C'est le comportement par défaut selon les spécifications du W3C.
2. type="reset" (réinitialisation)
Le type reset efface tous les champs renseignés dans le formulaire et les remet à leur valeur initiale. La fonction JavaScript équivalente existe également.
3. type="button" (bouton standard)
Le type button équivaut à un bouton classique sans action par défaut. Il est généralement utilisé avec JavaScript pour déclencher des actions personnalisées.
⚠️ Important : Spécifiez toujours l'attribut
typepour éviter les comportements incohérents entre navigateurs. Internet Explorer utilise "button" par défaut, tandis que les autres navigateurs et le W3C utilisent "submit".
Attributs spécifiques de la balise <button>
La balise <button> dispose de plusieurs attributs spécifiques :
- name : définit le nom du bouton pour l'identifier dans le formulaire
- value : spécifie la valeur envoyée au serveur lors de la soumission
- type : détermine l'événement associé au clic (submit, reset, button)
- disabled : rend le bouton non cliquable avec une apparence grisée
- accesskey : définit un raccourci clavier simulant le clic
Exemples pratiques
Exemple 1 : Bouton avec image personnalisée
Un bouton contenant une image avec un style appliqué :
Exemple : 📋 Copier le code
<button type="button"
style="background:white; cursor:pointer; border:solid 1px black; padding:10px;"
onclick="alert('Bouton cliqué !')">
<img src="../Images/icone.png" alt="Icône">
<span>Cliquez ici</span>
</button>
Exemple 2 : Bouton de soumission de formulaire
Exemple : 📋 Copier le code
<form action="/traitement.php" method="post">
<input type="text" name="nom" placeholder="Votre nom">
<button type="submit">
<strong>Envoyer</strong>
</button>
</form>
Exemple 3 : Bouton désactivé
Exemple : 📋 Copier le code
<button type="button" disabled>
Bouton désactivé
</button>
⚠️ Attention : Comportement dans les formulaires
Si vous utilisez l'élément <button> dans un formulaire HTML, certains navigateurs présentent des comportements différents :
Internet Explorer (anciennes versions) envoie le texte entre les balises <button> et </button>, tandis que les navigateurs modernes envoient le contenu de l'attributvalue.
Recommandation : Pour éviter ces incohérences, utilisez plutôt<input type="submit">ou<input type="button">pour créer des boutons dans les formulaires nécessitant une compatibilité maximale.
Tableau des attributs optionnels
La colonne DTD dans le tableau suivant indique dans quel HTML 4.01/XHTML 1.0 DTD l'attribut est autorisé :
S = Strict, T = Transitional, F = Frameset.
Les attributs optionnels
| Attribut | Valeur | Description | DTD |
|---|---|---|---|
| disabled | disabled | Indique que le bouton doit être désactivé | STF |
| name | nom | Spécifie le nom du bouton | STF |
| type | button reset submit |
Indique le type du bouton | STF |
| value | texte | Spécifie la valeur sous-jacente du bouton | STF |
Attributs standards
La balise <button> supporte les attributs standard suivants :
| Attribut | Valeur | Description | DTD |
|---|---|---|---|
| class | nom de classe | Spécifie un nom de classe pour l'élément | STF |
| dir | ltr rtl |
Spécifie l'orientation du texte pour le contenu | STF |
| id | nom de l'id | Spécifie un ID unique pour l'élément | STF |
| lang | language_code | Spécifie un code de langue pour le contenu | STF |
| style | style_definition | Spécifie un style en ligne pour l'élément | STF |
| title | text | Spécifie des informations supplémentaires sur l'élément | STF |
| xml:lang | language_code | Spécifie une langue pour le contenu dans les documents XHTML | STF |
| accesskey | caractère | Spécifie un raccourci clavier pour accéder à l'élément | STF |
| tabindex | nombre | Spécifie l'ordre de tabulation de l'élément | STF |
Les attributs d'événements
La balise <button> prend en charge les attributs d'événements suivants :
| Attribut | Valeur | Description | DTD |
|---|---|---|---|
| onclick | action à exécuter | Script à exécuter sur un clic de souris | STF |
| ondblclick | action à exécuter | Script à exécuter sur un double-clic de souris | STF |
| onmousedown | action à exécuter | Script à exécuter lorsque le bouton de la souris est pressé | STF |
| onmousemove | action à exécuter | Script à exécuter lorsque le pointeur de la souris se déplace | STF |
| onmouseout | action à exécuter | Script à exécuter lorsque le pointeur sort de l'élément | STF |
| onmouseover | action à exécuter | Script à exécuter lorsque le pointeur survole l'élément | STF |
| onmouseup | action à exécuter | Script à exécuter lorsque le bouton de souris est relâché | STF |
| onkeydown | action à exécuter | Script à exécuter quand une touche est pressée | STF |
| onkeypress | action à exécuter | Script à exécuter lorsqu'une touche est enfoncée et relâchée | STF |
| onkeyup | action à exécuter | Script à exécuter quand une touche est relâchée | STF |
| onblur | action à exécuter | Script à exécuter quand l'élément perd le focus | STF |
| onfocus | action à exécuter | Script à exécuter quand l'élément reçoit le focus | STF |
Vous êtes ici : Balise button Retour à la liste des balises
Par carabde 10 mars 2014 | Mis à jour le 28 mai 2025