Dlaczego HTML TextArea ma własny tag HTML? [Zamknięte]


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

W znacznikach HTML większość miejsc, w których użytkownik może wchodzić w interakcje ze stroną, jest oznaczona <input>znacznikiem. Dlaczego textarea ma swój własny tag, <textarea>w przeciwieństwie do, powiedzmy,<input type='textarea'>


2
Wiele dobrych odpowiedzi tutaj: stackoverflow.com/questions/5637326/…
grahamparks

To powinno zostać ponownie otwarte.
Piotr Dobrogost,

Odpowiedzi:


11

Ponieważ <textarea>ma specyficzne dla niego atrybuty rowsi cols. Gdyby to był typ <input>, atrybuty te musiałyby być częścią <input>tagu, nawet jeśli nie służą żadnemu celowi dla innych typów.


13
O dziwo, <input type="checkbox">i <input type="radio">mają checkedatrybut nieużywany przez żaden inny typ danych wejściowych. Podobnie <input type="image">dzieli atrybuty z <img>tagiem. Dodatkowo <input type="button">udostępnia funkcjonalność <button>tagowi.
greyfade

14
@greyfade: Niech ten, którego projekty przyrostowe są całkowicie spójne, rzuci pierwszy kamień ...
Michael Borgwardt

2
@MichaelBorgwardt gdzie mogę kupić tę koszulkę? :)
Adrian J. Moreno,

23

Dobra, odpowiedź @ maple_shaft zainteresowała mnie, więc po około 20 minutach Googlingu ...

Z jednego z oryginałów szkiców HTML :

UWAGA: W początkowym projekcie formularzy wielo-liniowe pola tekstowe były obsługiwane przez element Input z TYPE = TEXT. Niestety powoduje to problemy w przypadku pól o długich wartościach tekstowych. Domyślny SGML (zestaw ilości referencyjnych) ogranicza długość literałów atrybutów do tylko 240 znaków. Deklaracja SGML HTML 2.0 zwiększa limit do 1024 znaków.

Więc nie, nie miało to nic wspólnego z obszarem tekstowym rowsi colsbyło unikalne, tak jak twierdzą przyjęte odpowiedzi.


Aktualnie zaakceptowana odpowiedź jest zdecydowanie nieprawidłowa. Pytanie stackoverflow połączone z komentarzem grahamparks również zawiera dokładne odpowiedzi ( stackoverflow.com/questions/5637326/… ).
quentin-starin

@Izkata Dziękujemy za znalezienie i opublikowanie tego! Większość ludzi nie dbałaby o to wystarczająco, aby ożywić stare pytanie za pomocą nowych informacji.
wałek klonowy

@maple_shaft Często zastanawiałem się nad tym samym, ale tak naprawdę nie miałem pojęcia, od czego zacząć wyszukiwanie. Wpadłem na pomysł z twojej odpowiedzi (Plus ten nie jest tak stary, opublikowałem nowe rzeczy na SciFi.SE dla Star Trek po roku lub dłużej (^ _ ~))
Izkata

7

Aby zrozumieć, dlaczego textareajest to unikalny znacznik w porównaniu z innymi polami wejściowymi, musiałbyś znajdować się w oryginalnych łańcuchach wiadomości między Conolly i Berners-Lee w latach poprzedzających wydanie standardu HTML 2.0, który pojawił się w 1995 roku. Dlaczego nie jest to standardowy inputtag, jak wszystko inne, z powodu trudności technicznych w tym czasie lub jakiegoś ogólnego kompromisu, który uzgodnili.

Oryginalna specyfikacja HTML 2.0 w formularzach HTML znajduje się tutaj: http://tools.ietf.org/html/rfc1866#section-8

W pewnym momencie ktoś znalazł oryginalne tablice ogłoszeń AOL i opublikował je publicznie, gdzie jeździli tam i z powrotem, omawiając różne prototypy, które doprowadziły do ​​HTML, jaki znamy dzisiaj. To było bardzo interesujące, ale wydaje mi się, że już go nie znajduję.


Mam nadzieję, że ktoś to znajdzie.
CaffGeek

@Chad - Nie znalazłem wiadomości, ale widzę moją właśnie opublikowaną odpowiedź
Izkata
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.