當頁面上有表單的時候,為了防止使用者等不及伺服器端響應重複點選送出按鈕向伺服器端發送重複請求,我們通常需要在請求送出之前将送出按鈕禁用。
先來看一下頁面。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZzQmZhdjZ4MWMzIzYzAjYkRzY0gzNjhDMkZTMxMTMm9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
當使用者點選送出申請這個按鈕時,我們需要将其禁用。
$("button.btn-submit", $form).attr("disabled","true");
1
一般請求結束會遇到兩種情況,一種是 success,一種是 error,如果要在這兩個函數中去掉按鈕的禁用狀态,稍顯麻煩。更偷懶的做法是,在禁用按鈕後設定一個定時,比如說 3 秒,定時結束後自動取消禁用狀态。
var _submit = $("button.btn-submit", $form).attr("disabled","true");
setTimeout(function(){
_submit.removeAttr('disabled');
},3000);
好了,大功告成,頁面級别上的有效措施已經完成。這會在一定程度上降低請求重複送出的可能性。伺服器端也需要做好對應的處理。
問題解決了嗎?解決的話請随手點個贊,謝謝。