2012-07-20 57 views
3

我正在使用JQuery攔截表單,但它不適用於任何版本的IE。有沒有人有任何提示?我試過form.submit(),但發現它在Firefox中有問題。任何幫助將不勝感激。使用JQuery攔截表單在IE中失敗

$(document).ready(function() { 
    $("form").submit(function(e) { 
     if (e.originalEvent.explicitOriginalTarget.id == "myButton") { 
      if (some status is true continue to submit the form) 
       return true; 
       //If the status above is false continue to prompt the user if they want to submit or not 
      var ok = confirm('Do you really want to save your data?'); 
      if (ok) {     
       return true; 
      } 
      else { 
       //Prevent the submit event and remain on the screen 
       e.preventDefault(); 
       return false; 
      } 
     } 
    }); 

    return; 
}); 
+1

IE中是否提供了'e.originalEvent.explicitOriginalTarget'? – alex 2012-07-20 04:56:13

+1

'e.explicitOriginalTarget'是Mozilla特有的。 – undefined 2012-07-20 05:03:30

+0

我沒有專門使用該代碼,但非常相似。只是發送表單返回true,並且如果發生錯誤,則阻止默認設置。 – JCraine 2012-07-20 05:05:30

回答

0

您是否嘗試以某種方式附加到按鈕的單擊事件?我在這裏選擇了一個任意的選擇器。

$(".submit").click(function(e) { 
    if (e.target.id === "go1") { 
     alert("we're good!"); 
     return true; 
    } 

    e.preventDefault(); 
    return false; 
}); 

這裏有一個的jsfiddle:http://jsfiddle.net/qRbQe/

由於e.originalEvent.explicitOriginalTarget是Mozilla的具體打算通過插件開發非Web應用程序開發人員,我不認爲這是做給定的方式來使用您在處理submit事件時沒有得到觸發事件的元素。