用一個變量,記錄一下上次點擊的時間,點擊的時候判斷當前時間和上次點擊時間的差值。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設、網(wǎng)站重做改版、藤縣網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、HTML5建站、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為藤縣等各大城市提供網(wǎng)站開發(fā)制作服務。
或者
onclick="this.disabled=true;this.value='正在保存當中....';這里寫你的提交事件"
點擊以后把按鈕變灰,等你的提交操作完成以后
,再啟用這個按鈕,然后修改按鈕的text。
有時會發(fā)生重復,可能就是重復點擊、延時等意外問題。
建議每次提交之前建立一個變量,鎖定提交狀態(tài),當提交的結(jié)果返回時,再解鎖提交狀態(tài)。例如:
var is_sending = false;
例如:
$('btn').click(function(){
if ( is_sending == true ){ //判斷是否提交中
return false;
}else{
is_sending = true; //鎖定提交狀態(tài)
$.post('url', {data}, function(){
is_sending = false; //解鎖提交狀態(tài)
//處理結(jié)果。
})
}
})
//如果是input就直接在提交過程中將按鈕disable掉,如果是a可以用下面這種,當然解決根本問題還是后端驗證重復提交的好
var?sub?=?false;
$(btn).click(function(){
if(sub?===?true){
return;
}
sub?=?true;
$.post(url,?function(){
//TODO
sub?=?false;
})
});
部分重要代碼:
$.ajax({
type:'post',
url:'LibraryBooks_data.php',
data:params,
dataType: 'json',
async:false, //這是重要的一步,防止重復提交的
success: function (a)
{
if(a.action=='ture'){
$.success('操作成功!');
}
}
});
默認設置下,所有請求均為async異步請求。
如果需要發(fā)送同步請求,請將此async選項設置為 false。
注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執(zhí)行(默認: true) 默認設置下,所有請求均為異步請求。如果需要發(fā)送同步請求,請將此async選項設置為 false。
注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執(zhí)行。