重新启用禁用的按钮[重复]
Posted
技术标签:
【中文标题】重新启用禁用的按钮[重复]【英文标题】:Re-enabling a disabled button [duplicate] 【发布时间】:2014-09-27 05:11:01 【问题描述】:如果我将按钮的disabled
属性设置为true
,然后我想在一段时间后使用jQuery 启用它,为什么我不能将disabled
属性设置为@987654325 @ 与 jQuery?
html:
<form>
<input id="myButton" type="submit" disabled="true" value="Submit"/>
</form>
jQuery:
setTimeout(EnableSubmit, 3000);
function EnableSubmit()
$("#myButton").attr("disabled", "false");
JSFiddle:http://jsfiddle.net/TV7t4/
【问题讨论】:
【参考方案1】:您需要将其设置为布尔值false
,而不是字符串"false"
,因此请去掉引号。
$("#myButton").prop("disabled", false);
【讨论】:
不要忘记.prop()
而不是.attr()
。来自文档: .prop() 方法应该用于设置禁用和检查,而不是 .attr() 方法。【参考方案2】:
使用.prop()
和false
:
setTimeout(EnableSubmit, 3000);
function EnableSubmit()
$("#myButton").prop("disabled", false);
jsFiddle example
来自docs:应该使用 .prop() 方法来设置禁用和检查,而不是 .attr() 方法。
【讨论】:
【参考方案3】:disabled 属性的值无关紧要,只需将其设置为工作即可。
尝试像这样完全删除属性:
$("#myButton").removeAttr("disabled");
【讨论】:
【参考方案4】:$("#myButton").removeAttr('disabled');
【讨论】:
【参考方案5】:因为disabled
属性是一个布尔属性。无论其价值如何,它仅凭存在就起作用。我可以写disabled="I'm a broken paperclip"
,它仍然可以工作。
试试:
document.getElementById('myButton').disabled = true; // disable
document.getElementById('myButton').disabled = false; // re-enable
Vanilla JS 简单多了...
【讨论】:
【参考方案6】:我总是使用这个,它对我有用:
$("#myButton").prop('disabled', false);
另见:Disable/enable an input with jQuery?
【讨论】:
以上是关于重新启用禁用的按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:基于 WebView 状态禁用/重新启用按钮
如果我检查 2 输入单选,则禁用的提交按钮会启用,但如果我取消选中它们...提交按钮不会重新禁用