Відповіді:
Можливо, це заходить занадто далеко назад, але ...
Також я хотів би запропонувати, що текстові поля багато рядків мають інший тип (наприклад, "textarea"), ніж однорядкові поля ("text"), оскільки вони насправді є різними типами речей, і мають на увазі різні питання (семантику) для обслуговування на стороні клієнта.
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>
<
, &
і т.д. Це тільки так він може обробляти прогалини.
А textarea
може містити кілька рядків тексту, тому не можна було б попередньо заповнити його за допомогоюvalue
атрибута.
Аналогічно, select
елемент повинен бути власним елементом для розміщенняoption
піделементів.
value
attr? Перетягніть переведення на наступний рядок із зміною розміру в textarea
будь-якому випадку.
Це було обмеженням технології на час її створення. Мою відповідь скопійовано з Programmers.SE :
З одного з оригінальних чернеток HTML :
ПРИМІТКА: У початковому дизайні форм багаторядкові текстові поля підтримували елемент Введення з TYPE = TEXT. На жаль, це спричиняє проблеми для полів з довгими текстовими значеннями. Типовий параметр SGML (Набір контрольної кількості) обмежує довжину літералів атрибутів лише 240 символами. Заява HTML 2.0 SGML збільшує обмеження до 1024 символів.
Я усвідомлюю, що це старіший пост, але я подумав, що це може бути корисним для тих, хто цікавиться тим самим питанням:
Незважаючи на те, що попередні відповіді, без сумніву, справедливі, є більш проста причина для розмежування текстових повідомлень та вхідних даних.
Як було сказано раніше, HTML використовується для опису та надання якомога більшої смислової структури веб-контенту, включаючи форми введення. Текстова область може використовуватися для введення, однак текстову область також можна позначати як прочитану лише за допомогою атрибута readonly. Існування такого атрибута не мало б сенсу для типу введення , а отже, і для розрізнення.
input[type="text"]
можна приймати атрибут readonly . Що дивно, тепер, коли ви це вказуєте! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
замість<input type="select">
.<input>
Просто є основний елемент введення.type
Атрибут просто представляє тип значення , яке він тримає.