重新启用已禁用的按钮

时间:2014-08-04 16:44:50

标签: jquery html

如果我将按钮的disabled属性设置为true,然后我想在一段时间后使用jQuery启用它,为什么我不能只设置使用jQuery disabled属性为false

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/

6 个答案:

答案 0 :(得分:3)

已禁用的属性值无关紧要,只需将其设置为有效。

尝试完全删除属性:

$("#myButton").removeAttr("disabled");

答案 1 :(得分:2)

我总是使用这个,这对我有用:

$("#myButton").prop('disabled', false);

另见:Disable/enable an input with jQuery?

答案 2 :(得分:2)

因为disabled属性是布尔属性。无论其价值如何,它都只是存在。我可以写disabled="I'm a broken paperclip",它仍然有用。

尝试:

document.getElementById('myButton').disabled = true; // disable
document.getElementById('myButton').disabled = false; // re-enable

Vanilla JS简单得多......

答案 3 :(得分:2)

使用.prop()false

setTimeout(EnableSubmit, 3000);
function EnableSubmit() {
    $("#myButton").prop("disabled", false);
}

<强> jsFiddle example

来自docs:.prop()方法应该用于设置disabled和checked而不是.attr()方法。

答案 4 :(得分:0)

您需要将其设置为布尔值false,而不是字符串"false",因此请丢失引号。

$("#myButton").prop("disabled", false);

}

答案 5 :(得分:0)

$("#myButton").removeAttr('disabled');