Brien Malone
Brien Malone

Reputation: 613

JQuery Enable / Disable Submit Button in IE7

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?

Upvotes: 4

Views: 4553

Answers (3)

user1190286
user1190286

Reputation: 106

@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.

Upvotes: 1

Burak Erdem
Burak Erdem

Reputation: 19979

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

Upvotes: 8

lukas.pukenis
lukas.pukenis

Reputation: 13597

Try

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

or

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

Upvotes: 3

Related Questions