2016-04-28 193 views
0

使用以下代码JQuery的IE11单选按钮选择

$(".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

尝试写下如下($(this).hasClass(“disabled”){your code} else {}而不是if(!$(this)){} –

+0

让我们看看HTML! –

回答

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> 
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>元素。此外,该属性是只读的,如果您禁用元素,他们将不会发布到服务器,所以请确保您禁用它们onsubmit。