文本框或文本区域的disabled
属性的正确值是什么?
我之前看过以下用过:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
答案 0 :(得分:140)
<input type="text" disabled="disabled" />
是有效标记。<input type="text" disabled />
有效并由W3C用于其样本。答案 1 :(得分:95)
HTML5规范:
http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute:
checked内容属性是布尔属性
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上存在布尔属性表示真值,缺少属性表示假值。
如果该属性存在,则其值必须是空字符串或者是属性规范名称的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" />
缺少属性是 false 的唯一有效语法:
<input type="text" />
<强>建议强>
如果您关心编写有效的XHTML,请使用disabled="disabled"
,因为<input disabled>
无效,而其他替代方案的可读性较差。否则,只需使用<input disabled>
,因为它更短。
答案 2 :(得分:1)
我刚尝试了所有这些,对于IE11,似乎唯一有用的东西是禁用=&#34; true&#34;。禁用或没有给定值的值不起作用。事实上,jsp得到的错误是所有字段都需要相等,所以我必须指定disabled =&#34; true&#34;为了这个工作。
答案 3 :(得分:0)
在HTML5中,没有正确的值,所有主流浏览器都不关心属性是什么,它们只是检查属性是否存在以便元素被禁用。
答案 4 :(得分:0)
要设置布尔属性的值,例如禁用,您可以指定任何值。空字符串或属性名称是推荐值。重要的是,如果该属性完全存在,无论其实际值如何,其值都被认为是true。缺少该属性意味着其值为 false。通过将 disabled 属性的值设置为空字符串 (""),我们将 disabled 设置为 true >,这会导致按钮被禁用。
var f = document.querySelectorAll( "label.disabled input" );
for( var i = 0; i < f.length; i++ )
{
// Reference
var e = f[ i ];
// Actions
e.setAttribute( "disabled", false|null|undefined|""|0|"disabled" );
/*
<input disabled="false"|"null"|"undefined"|empty|"0"|"disabled">
e.getAttribute( "disabled" ) === "false"|"null"|"undefined"|""|"0"|"disabled"
e.disabled === true
*/
e.removeAttribute( "disabled" );
/*
<input>
e.getAttribute( "disabled" ) === null
e.disabled === false
*/
e.disabled = false|null|undefined|""|0;
/*
<input>
e.getAttribute( "disabled" ) === null|null|null|null|null
e.disabled === false
*/
e.disabled = true|" "|"disabled"|1;
/*
<input disabled>
e.getAttribute( "disabled" ) === ""|""|""|""
e.disabled === true
*/
}