2016-04-28 114 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。