Я использую следующий код для отключения кнопки отправки
$("input[type='submit']").attr("disabled", "disabled");
И этот код для его повторного включения:
$("input[type='submit']").removeAttr("disabled");
Он отлично работает во всех браузерах, которые я пробовал, кроме Internet Explorer 7. 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 >
Когда мои условия "если" выполнены, я скрываю отключенную отправку и показываю включенную.
Есть ли более элегантное решение этой проблемы на основе CSS или JQ?