2012-07-05 25 views
0

我想禁用提交按鈕,一旦它clicked..Let後的按鈕,我解釋一下,如下禁用一次點擊IE8的問題按鈕

  1. 表單提交驗證使用AJAX調用完成並提交按鈕使用 .attr("disabled",true);

  2. 如果響應爲「失敗」被禁用(即,驗證失敗)按鈕處於Ajax響應可點擊再次使用.attr("disabled",false)

這項工作在FF精絕和Chrome,但在IE8只要按下按鈕,被允許到禁止的效果可見(點擊按鈕時是正常的,像殘疾人可見)。不想在IE8上瞬間改變外觀。

我甚至嘗試過一些建議,如使用.attr("disabled","disabled");.removeAttr("disabled");使其禁用和啓用。 代碼片段: -

$("#submitBtn").click(function(event) { 
    event.preventDefault(); 
    $("#submitBtn").attr('disabled',true); 
    dataToPost = $("#Form").serialize(); 
    $.ajax({ 
     type: "POST", 
     url: 'FormValidation', 
     data: dataToPost , 
     success: function(response){ 
      if(response.status=='FAIL') 
      { 
       $("#submitBtn").attr('disabled',false); 
       //Some code 
      } 
      else{ 
     /* submit the form to if validation is successful */ 
       saveData(dataToPost); 
      } 
+1

讓我們來看看你的代碼 – sachleen 2012-07-05 15:29:36

+0

對不起格式化較差。 – sandy 2012-07-05 17:34:39

+0

在這裏,我發現answer.http://stackoverflow.com/questions/1411044/how-to-change-color-of-disabled-html-controls-in-ie8-using-css – sandy 2012-07-06 05:41:06

回答

1

Unfortuntely如果使用禁用的屬性,不管你是什麼IE瀏覽器將只默認的文本顏色爲灰色,與一個奇怪的白色的影子......東西......但所有其他樣式仍然可以工作。 : - /如回答here

2

而不是禁用按鈕,爲什麼不阻止點擊行爲? 一種方式做到這一點會做這樣的事情:

var waitingForAjax = false; 

$('yourButton').click(function(e){ 
    if (waitingForAjax) { 
     return false; 
    } 

    waitingForAjax = true; 
    // ajax call 
}); 

然後阿賈克斯再失敗設置waitingForAjaxfalse