我知道readonly
的{{1}}属性,但在阅读其他网站的代码时(我的一个讨厌的习惯),我看到了不止一个实现:
text input
和
<input type="text" value="myvalue" class="class anotherclass" readonly >
我甚至见过
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" >
..我相信我看到了更多,但现在还记不起确切的语法..
那么,哪一个是我应该使用的正确的?
答案 0 :(得分:67)
答案 1 :(得分:63)
HTML5规范:
http://www.w3.org/TR/html5/forms.html#attr-input-readonly:
readonly属性是布尔属性
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上存在布尔属性表示真值,缺少属性表示假值。
如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导空格或尾随空格。
<强>结论强>:
以下是有效,等效和真实:
<input type="text" readonly />
<input type="text" readonly="" />
<input type="text" readonly="readonly" />
<input type="text" readonly="ReAdOnLy" />
以下是无效:
<input type="text" readonly="0" />
<input type="text" readonly="1" />
<input type="text" readonly="false" />
<input type="text" readonly="true" />
缺少属性是 false 的唯一有效语法:
<input type="text"/>
<强>建议强>
如果您关心编写有效的XHTML,请使用readonly="readonly"
,因为<input readonly>
无效,而其他替代方案的可读性较差。否则,只需使用<input readonly>
,因为它更短。
答案 2 :(得分:4)
应该是
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" />