Reputation: 613
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:
(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
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
Reputation: 13597
Try
$("input[type='submit']").attr("disabled", "");
or
$("input[type='submit']").attr("disabled", false);
Upvotes: 3