Pourquoi HTML TextArea possède sa propre balise HTML? [fermé]

14
<input id='input1' type='text'></input>
<input id='input2' type='button'></input>
<input id='input3' type='checkbox'><input>
<textarea id='myTextArea'></textarea>

Dans le balisage HTML, la plupart des endroits où l'utilisateur peut interagir avec la page sont indiqués par la <input>balise. Pourquoi est-ce que textarea a sa propre balise, <textarea>par opposition, disons,<input type='textarea'>

Biscuits à la farine de riz
la source
2
Beaucoup de bonnes réponses ici: stackoverflow.com/questions/5637326/…
grahamparks
Cela devrait être rouvert.
Piotr Dobrogost

Réponses:

11

Parce que <textarea>possède les attributs rowset colsqui lui sont spécifiques. S'il s'agissait d'un type de <input>, ces attributs devraient faire partie de la <input>balise même s'ils ne servent à rien pour les autres types.

Michael Borgwardt
la source
13
Étrangement, cependant, <input type="checkbox">et <input type="radio">ont un checkedattribut qui n'est utilisé par aucun autre type d'entrée. De même, <input type="image">partage les attributs avec la <img>balise. En outre, <input type="button">partage des fonctionnalités avec la <button>balise.
greyfade
14
@greyfade: Que celui dont les conceptions incrémentielles soient complètement cohérentes jette la première pierre ...
Michael Borgwardt
2
@MichaelBorgwardt où puis-je acheter ce t-shirt? :)
Adrian J. Moreno
23

D'accord, la réponse de @ maple_shaft m'a rendu curieux, donc après environ 20 minutes de recherche sur Google ...

De l'un des originaux brouillons HTML :

REMARQUE: dans la conception initiale des formulaires, les champs de texte multilignes étaient pris en charge par l'élément Input 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 HTML 2.0 SGML augmente la limite à 1024 caractères.

Donc non, cela n'avait rien à voir avec rowset colsêtre unique à la zone de texte, comme les revendications de réponse acceptées.

Izkata
la source
La réponse actuellement acceptée n'est décidément pas correcte. La question de stackoverflow liée au commentaire de grahamparks a également des réponses précises ( stackoverflow.com/questions/5637326/… ).
quentin-star du
@Izkata Merci d'avoir trouvé et publié ceci! La plupart des gens ne se seraient pas suffisamment souciés de faire revivre une vieille question avec de nouvelles informations.
maple_shaft
@maple_shaft Je me suis souvent demandé la même chose, mais je n'avais pas vraiment d'idée par où commencer la recherche. J'ai eu l'idée de votre réponse (en plus celui-ci n'est pas si vieux, j'ai posté de nouvelles choses sur SciFi.SE pour Star Trek après un an ou plus (^ _ ~))
Izkata
7

Pour comprendre pourquoi il textareas'agit d'une balise unique par rapport aux autres champs de saisie, vous auriez dû figurer dans les chaînes de messages originales entre Conolly et Berners-Lee dans les années précédant la publication de la norme HTML 2.0 sortie en 1995. Pourquoi ce n'est pas une normeinput balise comme tout le reste peut-être en raison d'une difficulté technique à l'époque ou d'un compromis général sur lequel ils étaient tombés d'accord.

Pour la spécification HTML 2.0 originale sur les formulaires HTML, voir ici: http://tools.ietf.org/html/rfc1866#section-8

À un moment donné, quelqu'un avait trouvé les babillards électroniques originaux d'AOL et les avait affichés publiquement où ils allaient et venaient pour discuter des différents prototypes qui avaient conduit au HTML tel que nous le connaissons aujourd'hui. C'était extrêmement intéressant mais je n'arrive plus à le trouver.

maple_shaft
la source
J'espère que quelqu'un pourra le trouver.
CaffGeek
@Chad - Je n'ai pas trouvé les messages, mais voyez ma réponse qui vient d'être publiée
Izkata