JQuery IE11单选按钮选择器

时间:2016-04-28 22:23:22

标签: javascript jquery html internet-explorer-11

使用以下代码

$(".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浏览器中按预期运行。

2 个答案:

答案 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,则不会将其发布到服务器,因此请确保在提交时禁用它们。