Odpowiedzi:
Może to trochę za daleko, ale…
Chciałbym również zasugerować, że wielowierszowe pola tekstowe mają inny typ (np. „Textarea”) niż pola jednowierszowe („tekst”), ponieważ w rzeczywistości są to różne typy rzeczy i implikują różne kwestie (semantykę) dla obsługa po stronie klienta.
textareaelementu jest to, że Marc Andreessen zaproponował go w październiku 1993 r. Z powodów wymienionych powyżej.
typeatrybutu inputtagu i wszystkie mają ten sam inputtag. Więc nie, ten cytat nie jest odpowiedzią na to pytanie.
Aby jego wartość mogła z łatwością zawierać cudzysłowy i znaki <> oraz uwzględniać spacje i znaki nowej linii.
Poniższy kod HTML pomyślnie przeszedł walidator w3c i wyświetla <,> oraz & bez potrzeby ich kodowania. Szanuje również białe spacje.
<!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>
<, &itp Jest tak może obsłużyć spacje.
A textareamoże zawierać wiele wierszy tekstu, więc nie można byłoby go wstępnie wypełnić za pomocą valueatrybutu.
Podobnie selectelement musi być własnym elementem, aby pomieścić optionelementy podrzędne.
valueatr? Przepełnienie zawija do następnej linii przy zmianie rozmiaru textareamimo wszystko.
Było to ograniczenie technologii w czasie jej tworzenia. Moja odpowiedź została skopiowana od Programmers.SE :
Z jednej z oryginalnych wersji roboczych HTML :
UWAGA: W początkowym projekcie formularzy wielowierszowe pola tekstowe były obsługiwane przez element wejściowy z TYPE = TEKST. Niestety powoduje to problemy w przypadku pól z długimi wartościami tekstowymi. Wartość domyślna SGML (Reference Quantity Set) ogranicza długość literałów atrybutów do tylko 240 znaków. Deklaracja HTML 2.0 SGML zwiększa limit do 1024 znaków.
Zdaję sobie sprawę, że to starszy post, ale pomyślałem, że może to być pomocne dla każdego, kto zastanawia się nad tym samym pytaniem:
Chociaż poprzednie odpowiedzi są bez wątpienia ważne, istnieje prostszy powód rozróżnienia między obszarem tekstowym a danymi wejściowymi.
Jak wspomniano wcześniej, HTML jest używany do opisywania i nadawania możliwie największej struktury semantycznej zawartości sieci Web, w tym formularzy wejściowych. Pole tekstowe może być używane do wprowadzania danych, jednak obszar tekstowy może być również oznaczony jako tylko do odczytu za pomocą atrybutu tylko do odczytu. Istnienie takiego atrybutu nie miałoby sensu dla typu danych wejściowych , a tym samym dla rozróżnienia.
input[type="text"]może również przyjąć atrybut readonly . Co jest trochę dziwne, skoro już to wskazałeś! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>zamiast<input type="select">. Po<input>prostu reprezentuje podstawowy element wejściowy.typeAtrybut tylko reprezentuje typ wartości w jego posiadaniu.