重新启用禁用的按钮[重复]

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 输入单选,则禁用的提交按钮会启用,但如果我取消选中它们...提交按钮不会重新禁用

在 IBAction 中禁用的 UIButton 重新启用自身

重新启用 JQGrid 上的寻呼机按钮

Rails 5 成功发送数据后重新启用表单提交