使用以下代码
$(".submitButton").click(function(event){
if ($(this).hasClass("disabled")){
event.preventDefault();
return false;
}
if (!$(this).hasClass("disabled")){
$('.invoice-form').find(':input').prop("disabled",false);
$(".invoiceDate").prop("disabled",true);
//event.preventDefault();
//return false;
}
});
在IE11中,提交表单时,除了单选按钮外,所有元素都被启用。
关于这个的任何想法?我们需要重新启用单选按钮,以便设置正确的值。它在非IE浏览器中按预期运行。
答案 0 :(得分:0)
就个人而言,当我创建表单时,我会沿着Bootstrap路线前进。
HTML /自举
<div class="radio">
<label><input type="radio" name="optradio">Option 1</label>
</div>
<div class="radio">
<label><input type="radio" name="optradio">Option 2</label>
</div>
<button type="submit" class="btn btn-default">
<i class="fa fa-envelope-o"></i>
Submit
</button>
答案 1 :(得分:0)
尝试按以下方式编写
if($(this).hasClass("disabled)){your code}else{}
而不是
if (!$(this)){}
如果你想要纯java脚本使用下面的代码来禁用整个表单[javascript通常对浏览器更兼容和友好
var fields = document.getElementById("YOURDIVID").getElementsByTagName('*');
for(var i = 0; i < fields.length; i++)
{
fields[i].disabled = true;
}
如果你坚持使用jquery,请使用以下内容 对于jquery 1.6+,使用.prop()而不是.attr()
$("#parent-selector :input").prop("disabled", true);
或
$("#parent-selector :input").attr("disabled", "disabled");
或
$('#mydivform').find('input, textarea, button, select').attr('disabled','disabled');
:input
选择所有<input>, <select>, <textarea> and <button>
元素。此属性也是readonly,如果您对他们赢得的元素使用disabled,则不会将其发布到服务器,因此请确保在提交时禁用它们。