我想在html文件中明确设置一个启用的按钮。原因是我的代码稍后将按钮切换为禁用,如果代码崩溃,或者我可能会看到按钮被禁用。
我可以用
禁用按钮$("#btn").attr("disabled","true")
然后是一个包含以下内容的html:
<button id="btn" disabled="false">I want to be enabled!</button>
仍然将按钮显示为已禁用。 检查员显示:
<button id="btn" disabled="">I want to be enabled!</button>
我知道我能做到
$("#btn").removeAttr("disabled")
或类似,但对html中的许多元素执行此操作并不方便。
答案 0 :(得分:31)
令人惊讶的是,HTML并没有对布尔属性使用布尔值。
在HTML中,布尔属性通过仅添加属性名称或(通常在XHTML中)使用属性名称作为其值来指定。
<input type="checkbox" disabled> <!-- HTML -->
<input type="checkbox" disabled /> <!-- Also HTML -->
<input type="checkbox" disabled="disabled" /> <!-- XHTML and HTML -->
HTML规范中记录了这一点:http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute
许多属性是布尔属性。元素上存在布尔属性表示真值,缺少属性表示假值。
布尔属性不允许使用值“true”和“false”。要表示错误值,必须完全省略该属性。
答案 1 :(得分:3)
如果您使用的是 AngularJS ,请尝试使用ng-disabled
。在这种情况下,您可以使用以下内容:
ng-disabled="true"
ng-disabled="false"
ng-disabled={{expression}}
它按预期工作....
答案 2 :(得分:3)
我知道这是一个古老的话题,但由于没有明确的答案,这有帮助吗?这确实回答了明确标记为已启用的问题。
<button enabled>My Text</button>
<!-- Which also works as: -->
<button enabled="enabled">My Text</button>
我也正在调查此问题,以便在验证发生时启用按钮。我希望这有助于某人。
答案 3 :(得分:3)
将来,可以帮助别人。
selectLanguage.onchange = function() {
var value = selectLanguage.value;
if (value != '') {
submitLanguage.removeAttribute('disabled');
} else {
submitLanguage.setAttribute('disabled', 'disabled');
}
// submitLanguage.setAttribute('enabled', 'enabled');
}
答案 4 :(得分:-3)
Si esta usando Vuejs
:disabled="true" //desactiva el input
:disabled="false" //activa el input