我的页面上有一个输入(按钮),如下所示:
<input id="the-button" type="submit" class="btn" value="Click me!">
我正在覆盖表单提交操作,因此我可以在实际提交表单之前检查一些内容。在执行此操作之前,我禁用了该按钮,因此用户不会再次单击该按钮,因此他们可以看到该页面正在运行。
$("#the-button").attr("disabled", true);
如果我决定不提交表单,我会重新启用该按钮。
$("#the-button").attr("disabled", false);
这在Chrome / Firefox中按预期工作,但在IE8中,按钮显示被禁用,但您仍然可以点击它。所需的行为是启用,但在IE中显示为灰色。
答案 0 :(得分:7)
如果您使用的是jQuery 1.6+,那么您应该使用.prop,因为'disabled'是element的属性
$("#the-button").prop("disabled", true);
$("#the-button").prop("disabled", false);
答案 1 :(得分:2)
正如Wirey所说的那样是使用prop
的最佳方式,但是如果你坚持使用旧版本的jQuery,你可以“镜像”IE的语句,例如:
$("#the-button").attr("disabled", ""); // Enabled
$("#the-button").attr("disabled", "disabled"); // Disabled
ReadOnly也是如此(显然在文本框等上)
$("#the-button").attr("readonly", ""); // Read Write
$("#the-button").attr("readonly", "readonly"); // Read Only