Ответы:
Может быть, это будет слишком далеко назад, но ...
Кроме того, я хотел бы предложить, чтобы многострочные текстовые поля имели другой тип (например, «textarea»), чем однострочные поля («текст»), поскольку они действительно являются разными типами вещей и подразумевают разные проблемы (семантику) для обработка на стороне клиента.
textarea
элемент, заключается в том, что Марк Андреессен предложил его еще в октябре 1993 года по причинам, указанным выше.
type
атрибута input
тега, и все они имеют один и тот же input
тег. Так что нет, эта цитата не является ответом на этот вопрос.
Так что его значение может легко содержать кавычки и символы <> и учитывать пробелы и переводы строки.
Следующий HTML-код успешно проходит валидатор w3c и отображает <,> и & без необходимости их кодирования. Это также уважает пробелы.
<!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>
<
, &
и т.д. Это только так он может обрабатывать пробелы.
A textarea
может содержать несколько строк текста, поэтому его нельзя будет предварительно заполнить с помощью value
атрибута.
Точно так же select
элемент должен быть его собственным элементом для размещения option
подэлементов.
value
атрибутом? Переполнение переносится на следующую строку при изменении размера в textarea
любом случае.
Это было ограничением технологии на момент ее создания. Мой ответ скопирован с сайта Programmers.SE :
Из одного из оригинальных черновиков HTML :
ПРИМЕЧАНИЕ. В исходном проекте для форм многострочные текстовые поля поддерживались элементом Input с TYPE = TEXT. К сожалению, это вызывает проблемы для полей с длинными текстовыми значениями. По умолчанию SGML (набор контрольных количеств) ограничивает длину литералов атрибута только 240 символами. Объявление SGML в HTML 2.0 увеличивает ограничение до 1024 символов.
Я понимаю, что это старый пост, но подумал, что это может быть полезно для всех, кто задает тот же вопрос:
Хотя предыдущие ответы, без сомнения, верны, есть более простая причина для различия между текстовой областью и вводом.
Как упоминалось ранее, HTML используется для описания и придания как можно большей семантической структуры веб-контенту, включая формы ввода. Текстовая область может использоваться для ввода, однако текстовая область также может быть помечена как доступная только для чтения с помощью атрибута только для чтения. Существование такого атрибута не имело бы никакого смысла для типа ввода и, следовательно, различия.
input[type="text"]
может принимать атрибут readonly тоже. Что странно, теперь, когда вы на это указываете! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
вместо<input type="select">
.<input>
Просто представляет собой основной элемент ввода.type
Атрибут просто представляет тип значения , которое он держит.