JQuery 在 IE7 中启用/禁用提交按钮

发布于 2024-12-01 21:38:35 字数 944 浏览 2 评论 0原文

我使用以下代码来禁用提交按钮

$("input[type='submit']").attr("disabled", "disabled");

,并使用此代码重新启用它:

$("input[type='submit']").removeAttr("disabled");

它在我尝试过的所有浏览器上都可以正常工作,除了 Internet Explorer 7。IE7 将很好地禁用该按钮,但是当它重新启用时,该按钮看起来仍然处于禁用状态。

尽管光标和灰色颜色,此按钮仍处于启用状态并可单击:

IE7 启用按钮,具有禁用外观

(一位同事有IE8 也有同样的问题,但我无法重现它。)

我有一个解决方法可以完成这项工作,但它很难看。我有两个按钮,一个禁用,一个不禁用。首先,我显示禁用的按钮并隐藏启用的按钮。

$("input[type='submit']:first").css("display","inline"); //show disabled
$("input[type='submit']:last").css("display","none");    //hide enabled
...
<input name="Submit" type="submit" value=" Sign In " tabindex=3 disabled>
<input name="Submit" type="submit" value=" Sign In " tabindex=3 >

当满足我的“if”条件时,我会隐藏禁用的提交并显示启用的提交。

是否有更优雅的 CSS 或基于 JQ 的解决方案来解决这个问题?

I am using the following code to disable the submit button

$("input[type='submit']").attr("disabled", "disabled");

And this code to re-enable it:

$("input[type='submit']").removeAttr("disabled");

It works fine on all browsers I've tried except Internet Explorer 7. IE7 will disable the button fine, but when it is re-enabled, the button still looks disabled.

This button is enabled and clickable in spite of the cursor and gray color:

IE7 enabled button with disabled appearance

(A colleague had the same trouble with IE8, but I could not reproduce it.)

I have a workaround in place that does the job, but its ugly. I have two buttons, one disabled, one not. To start, I show the disabled one and hide the enabled button.

$("input[type='submit']:first").css("display","inline"); //show disabled
$("input[type='submit']:last").css("display","none");    //hide enabled
...
<input name="Submit" type="submit" value=" Sign In " tabindex=3 disabled>
<input name="Submit" type="submit" value=" Sign In " tabindex=3 >

When my "if" conditions are met, I hide the disabled submit and show the enabled one.

Is there a more elegant CSS or JQ based solution to this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

翻了热茶 2024-12-08 21:38:36

@Burak - 这非常有效(John Resig 确实提到在这个特定情况下使用 .prop() 而不是 .attr() )。我还尝试了 submitbutton.prop("disabled", false);submitbutton.prop("disabled", true); 这样就可以在 IE 7 上启用和禁用/6 也是如此。

@Burak - That works very well (John Resig does mention about it of using .prop() instead of .attr() for this specific case). I also tried the submitbutton.prop("disabled", false); and submitbutton.prop("disabled", true); so that would enable and disable on IE 7/6 as well.

黯然#的苍凉 2024-12-08 21:38:35
$("input[type='submit']").prop("disabled", false);
$("input[type='submit']").prop("disabled", false);
灯角 2024-12-08 21:38:35

尝试

$("input[type='submit']").attr("disabled", "");

$("input[type='submit']").attr("disabled", false);

Try

$("input[type='submit']").attr("disabled", "");

or

$("input[type='submit']").attr("disabled", false);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文