为什么有一个元素 <textarea>而不是 <input type="textarea">?
<textarea>
<input type="textarea">
因此它的值可以很容易地包含引号和 < > 字符,并且尊重空格和换行符。
下面的 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属性预填充它。
textarea
value
类似地,select元素需要是它自己的元素,以容纳 option子元素。
select
option
也许这有点太久远了,但是..。
此外,我想建议多行文本字段有一个不同的类型(例如“ textarea”) ,而不是单行字段(“ text”) ,因为它们实际上是不同类型的东西,并意味着客户端处理的不同问题(语义)。
Marc Andreessen,1993年10月11日
我知道这是一篇较早的文章,但是我想这可能对任何想知道同样问题的人有所帮助:
虽然前面的答案无疑是有效的,有一个更简单的原因之间的文本区和输入的区别。
如前所述,HTML 用于描述和给出尽可能多的 Web 内容语义结构,包括输入表单。一个 textarea 梅用于输入,但是一个 textarea 也可以通过 readonly 属性标记为只读。这种属性的存在对于 输入类型没有任何意义,因此也没有区别。
这是当时技术的一个局限性。 我的答案是从程序员那里抄来的:
来自原版 HTML 草稿的一段:
注意: 在表单的初始设计中,多行文本字段是 TYPE = TEXT 的 Input 元素支持 导致文本值较长的字段出现问题 (参考数量集)将属性文字的长度限制为 HTML 2.0 SGML 声明增加了这个限制 到1024个字符。