为什么 textarea 不是 input[type="textarea"]?
为什么有一个元素
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么有一个元素
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
也许这有点太遥远了,但是……
– Marc Andreessen,1993 年 10 月 11 日
Maybe this is going a bit too far back but…
– Marc Andreessen, 11 October 1993
这样它的值就可以轻松包含引号和<>字符并尊重空格和换行符。
以下 HTML 代码成功通过 w3c 验证器 并显示 <,>和&无需对它们进行编码。它还尊重空白。
So that its value can easily contain quotes and <> characters and respect whitespace and newlines.
The following HTML code successfully pass the w3c validator and displays <,> and & without the need to encode them. It also respects the white spaces.
textarea
可以包含多行文本,因此无法使用value
属性预先填充它。同样,
select
元素需要有自己的元素来容纳option
子元素。A
textarea
can contain multiple lines of text, so one wouldn't be able to pre-populate it using avalue
attribute.Similarly, the
select
element needs to be its own element to accommodateoption
sub-elements.这是当时技术的限制。 我的答案是从 Programmers.SE 复制过来的:
来自原始的HTML 草稿:
It was a limitation of the technology at the time it was created. My answer copied over from Programmers.SE:
From one of the original HTML drafts:
我意识到这是一篇较旧的帖子,但认为这可能对任何想知道同一问题的人有所帮助:
虽然前面的答案无疑是有效的,但文本区域和输入之间的区别有一个更简单的原因。
如前所述,HTML 用于描述 Web 内容并为其提供尽可能多的语义结构,包括输入表单。文本区域可以用于输入,但是文本区域也可以通过 readonly 属性标记为只读。这样的属性的存在对于输入类型没有任何意义,因此也没有任何区别。
I realize this is an older post, but thought this might be helpful to anyone wondering the same question:
While the previous answers are no doubt valid, there is a more simple reason for the distinction between textarea and input.
As mentioned previously, HTML is used to describe and give as much semantic structure to web content as possible, including input forms. A textarea may be used for input, however a textarea can also be marked as read only via the readonly attribute. The existence of such an attribute would not make any sense for an input type, and thus the distinction.