禁用属性的正确值是多少?
文本框或文本区域的 disabled
属性的正确值是多少?
我以前见过使用以下内容:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
What is the correct value for the disabled
attribute for a textbox or textarea?
I've seen the following used before:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
是有效标记。
有效并由 W3C 在其示例中使用。
<input type="text" disabled="disabled" />
is the valid markup.<input type="text" disabled />
is valid and used by W3C on their samples.HTML5 规范:
http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute :
http://www.w3.org /TR/html5/infrastruct.html#boolean-attributes :
结论:
以下是有效、等价和正确:
以下是无效:
缺少该属性是唯一有效的语法>false:
建议
如果您关心编写有效的 XHTML,请使用
disabled="disabled"
,因为是无效的,其他替代方案的可读性较差。否则,只需使用
因为它更短。
HTML5 spec:
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 :
Conclusion:
The following are valid, equivalent and true:
The following are invalid:
The absence of the attribute is the only valid syntax for false:
Recommendation
If you care about writing valid XHTML, use
disabled="disabled"
, since<input disabled>
is invalid and other alternatives are less readable. Else, just use<input disabled>
as it is shorter.我刚刚尝试了所有这些,对于 IE11,似乎唯一有效的是disabled =“true”。禁用值或未给出值不起作用。事实上,jsp 出现了一个错误,即所有字段都需要 equal,因此我必须指定disabled=“true”才能使其正常工作。
I just tried all of these, and for IE11, the only thing that seems to work is disabled="true". Values of disabled or no value given didnt work. As a matter of fact, the jsp got an error that equal is required for all fields, so I had to specify disabled="true" for this to work.
MDN 上的 setAttribute():
链接到 MDN
解决方案
true 使用 e.disabled = true;
或 "" 使用 setAttribute( "disabled", "" );
在 Chrome 中测试
setAttribute() on MDN:
Link to MDN
Solution
name="myinput" disabled>.
true using e.disabled = true;
or to "" using setAttribute( "disabled", "" );
Test in Chrome
在 HTML5 中,没有正确的值,所有主流浏览器并不真正关心该属性是什么,它们只是检查该属性是否存在,以便禁用该元素。
In HTML5, there is no correct value, all the major browsers do not really care what the attribute is, they are just checking if the attribute exists so the element is disabled.