为什么会有一个
<textarea>
元素而不是 <input type="textarea">
?也许这有点太遥远了,但是...
此外,我想建议多行文本字段使用不同的类型(例如 "textarea")而不是单行字段("text"),因为它们确实是不同类型的东西,并且暗示客户端处理的不同问题(语义)。
textarea
元素之所以存在,是因为马克·安德森在1993年10月提出了这个想法,原因如上所述。 - Marcelinput
标记的type
属性的不同值来表示,它们都共享同一个input
标记。因此,这段引用并不是对这个问题的答案。 - Piotr Dobrogost为了让其值轻松包含引号、尖括号字符并保留空格和换行符。
以下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>
<
、&
等特殊字符。这样做只是为了处理空格。 - Quentintextarea
元素中放置了</textarea>
,它显然不会起作用,所以是的,你需要转义textarea
元素内部的所有内容。 - Matthew一个 textarea
可以包含多行文本,所以无法使用 value
属性来预填充文本。
同样,select
元素需要成为自己的元素来容纳 option
子元素。
这是在当时技术设计上的局限性。以下是我从Programmers.SE中转载的回答:
在最初的HTML草案中,对于多行文本输入框的支持采用了Input元素和TYPE=TEXT的方式。然而,这种方式会导致长文本值的字段出现问题。SGML的默认(参考数量集)将属性字面量的长度限制为仅有240个字符。HTML 2.0的SGML说明将这一限制增加到1024个字符。
input[type="text"]
可以使用 readonly 属性外,其他的都是合理的。不过,现在你指出来了,这似乎有点奇怪!具体可以参考 http://www.w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly 。 - Matt
<select>
可以代替<input type="select">
。<input>
只是表示基本的输入元素。type
属性只是表示它所持有的值的类型。 - BalusC