<textarea>
Crée un contrôle de saisie multiligne permettant à l'utilisateur d'entrer du texte libre sur plusieurs lignes.
Description
L’élément <textarea> est un champ de saisie multiligne redimensionnable. Contrairement à <input>, il n’est pas void : sa valeur par défaut est le contenu entre les balises ouvrante et fermante. Il est utilisé pour les messages, les commentaires, les descriptions longues.
Syntaxe
<label for="message">Message :</label>
<textarea id="message" name="message" rows="5"></textarea>
Exemples
Zone de commentaire :
<label for="commentaire">Votre commentaire :</label>
<textarea
id="commentaire"
name="commentaire"
rows="6"
maxlength="500"
placeholder="Entrez votre commentaire (500 caractères max)…"
required
></textarea>
Valeur préremplie :
<textarea id="config" name="config">
{
"theme": "dark",
"lang": "fr"
}
</textarea>
Attributs spécifiques
| Attribut | Type | Description |
|---|---|---|
name | string | Nom du champ envoyé lors de la soumission. |
rows | integer | Nombre de lignes visibles (hauteur initiale). |
cols | integer | Largeur en nombre de caractères (rarement utilisé, préférer CSS). |
placeholder | string | Texte affiché quand le champ est vide. |
required | boolean | Champ obligatoire. |
disabled | boolean | Désactive le champ. |
readonly | boolean | Empêche la modification. |
maxlength | integer | Nombre maximal de caractères. |
minlength | integer | Nombre minimal de caractères requis. |
autocomplete | string | Contrôle l’autocomplétion. |
wrap | enum | Mode d’habillage à la soumission : soft (retours à la ligne non soumis) ou hard (retours soumis, nécessite cols). |
Notes
Pas d’attribut value : contrairement à <input>, la valeur initiale de <textarea> est définie par son contenu (entre les balises). Tout espace ou saut de ligne entre les balises est inclus dans la valeur initiale.
Redimensionnement : par défaut, l’utilisateur peut redimensionner <textarea>. CSS resize: none empêche cela, resize: vertical limite au redimensionnement vertical.
Support navigateurs
Chrome1+ · Firefox1+ · Safari≤4+ · Edge12+