2012-07-06 107 views
0

我的代碼是這樣的如何獲得表單處理事件

$(document).ready(function(){ 
    $('#somebutton').click(function(){ 
      $('#someformid').submit(); 
      return false; 
    }); 

}); 

在此表單提交,通常在網頁將等待1或2秒的負載那樣簡單,在這個平均時間用戶可以再次點擊'somebutton',表單會再次提交。我的問題是如何鎖定瀏覽器或禁用表單提交如果表單提交過程正在進行?

P.S somebutton是一個圖像

回答

4

你可以使用.one,這使處理器執行最多一次。

$('#somebutton').one('click', function(){ 
     $('#someformid').submit(); 
     return false; 
    }); 
+0

將一個承認所有的事件?例如'click','change' – coolguy 2012-07-06 06:44:23

+1

@ubercooluk哦,我的代碼錯過了,你必須指定事件類型。 – xdazz 2012-07-06 06:45:17

4

您可以簡單地禁用按鈕在處理時單擊。

$(document).ready(function(){ 
    $('#somebutton').click(function(){ 
      $('#someformid').submit(); 
      $(this).attr('disabled','disabled'); 
    }); 

}); 

,或者您可以使用e.preventDefault();

$(document).ready(function(e){ 
     $('#somebutton').click(function(){ 
       $('#someformid').submit(); 
       e.preventDefault(); 
     }); 

    }); 
+0

其實somebutton是圖像.. – coolguy 2012-07-06 06:42:51

+0

@ubercooluk這是相當不錯的說這東西的問題 – Teneff 2012-07-06 06:43:52

1

ATTR禁用添加到您的按鈕

編輯:解除綁定上Click事件。

$(document).ready(function(){ 
$('#somebutton').click(function(){ 
     $(this).unbind('click'); 
     $('#someformid').submit(); 
     return false;  
}); 
});