更正已禁用属性的值
textbox或textarea的disabled
属性的正确值是多less?
我见过以下用过的:
<input type="text" disabled /> <input type="text" disabled="disabled" /> <input type="text" disabled="true" />
- 对于XHTML,
<input type="text" disabled="disabled" />
是有效的标记。 - 对于HTML5,
<input type="text" disabled />
是有效的,W3C会在其样本上使用<input type="text" disabled />
。 - 实际上,两种方式都适用于所有主stream浏览器。
HTML5规范 :
http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute :
检查的内容属性是布尔属性
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
元素上布尔属性的存在表示真值,缺less属性表示假值。
如果该属性存在,则其值必须是空string,或者是该属性规范名称的ASCII不区分大小写的匹配值,且不包含前导或尾随空格。
结论 :
以下是有效的,等同的和真实的 :
<input type="text" disabled /> <input type="text" disabled="" /> <input type="text" disabled="disabled" /> <input type="text" disabled="DiSaBlEd" />
以下是无效的 :
<input type="text" disabled="0" /> <input type="text" disabled="1" /> <input type="text" disabled="false" /> <input type="text" disabled="true" />
缺less该属性是错误的唯一有效语法:
<input type="text" />
build议
如果您关心编写有效的XHTML,请使用disabled="disabled"
,因为<input disabled>
是无效的,其他替代方法的可读性较差。 否则,只需使用<input disabled>
因为它更短。
我只是尝试了所有这些,对于IE11,似乎工作的唯一东西是禁用=“真”。 残疾或没有价值的价值没有工作。 事实上,jsp得到了一个所有字段都需要相同的错误,所以我必须指定disabled =“true”才能工作。
在HTML5中,没有正确的值,所有的主stream浏览器并不关心属性是什么,他们只是检查属性是否存在,所以元素被禁用。