Réponses:
Peut-être que ça va un peu trop loin mais…
De plus, j'aimerais suggérer que les champs de texte multiligne ont un type différent (par exemple, "textarea") que les champs sur une seule ligne ("texte"), car ils sont vraiment différents types de choses et impliquent des problèmes (sémantiques) différents pour gestion côté client.
textarea
élément est que Marc Andreessen l'a proposé en octobre 1993 pour les raisons citées ci-dessus.
type
attribut de input
balise et ils partagent tous une seule et même input
balise. Donc non, cette citation n'est pas une réponse à cette question.
Pour que sa valeur puisse facilement contenir des guillemets et des caractères <> et respecter les espaces et les retours à la ligne.
Le code HTML suivant passe avec succès le validateur w3c et affiche <,> et & sans avoir besoin de les coder. Il respecte également les espaces blancs.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Yes I can</title>
</head>
<body>
<textarea name="test">
I can put < and > and & signs in
my textarea without any problems.
</textarea>
</body>
</html>
<
, &
etc. Il est juste de sorte qu'il peut gérer les espaces.
Un textarea
peut contenir plusieurs lignes de texte, donc on ne pourrait pas le pré-remplir à l'aide d'unvalue
attribut.
De même, l' select
élément doit être son propre élément pour accueillir des option
sous-éléments.
value
attr? Le débordement passe à la ligne suivante lors du redimensionnement du textarea
quand même.
C'était une limitation de la technologie au moment où elle a été créée. Ma réponse copiée de Programmers.SE :
À partir de l'un des brouillons HTML d' origine :
REMARQUE: dans la conception initiale des formulaires, les champs de texte multiligne étaient pris en charge par l'élément d'entrée avec TYPE = TEXT. Malheureusement, cela pose des problèmes pour les champs avec des valeurs de texte longues. La valeur par défaut de SGML (Reference Quantity Set) limite la longueur des littéraux d'attribut à seulement 240 caractères. La déclaration SGML HTML 2.0 augmente la limite à 1024 caractères.
Je me rends compte qu'il s'agit d'un article plus ancien, mais j'ai pensé que cela pourrait être utile à quiconque se pose la même question:
Bien que les réponses précédentes soient sans aucun doute valables, il existe une raison plus simple à la distinction entre zone de texte et entrée.
Comme mentionné précédemment, HTML est utilisé pour décrire et donner autant de structure sémantique que possible au contenu Web, y compris les formulaires d'entrée. Une zone de texte peut être utilisée pour la saisie, mais une zone de texte peut également être marquée comme lecture seule via l'attribut readonly. L'existence d'un tel attribut n'aurait aucun sens pour un type d' entrée , et donc la distinction.
input[type="text"]
peut également prendre l' attribut readonly . Ce qui est assez étrange, maintenant que vous le faites remarquer! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
au lieu de<input type="select">
. Le<input>
just représente un élément d'entrée de base. L'type
attribut représente simplement le type de la valeur qu'il contient.