用一个变量,记录一下上次点击的时间,点击的时候判断当前时间和上次点击时间的差值。
创新互联专注于企业营销型网站建设、网站重做改版、藤县网站定制设计、自适应品牌网站建设、HTML5建站、商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为藤县等各大城市提供网站开发制作服务。
或者
onclick="this.disabled=true;this.value='正在保存当中....';这里写你的提交事件"
点击以后把按钮变灰,等你的提交操作完成以后
,再启用这个按钮,然后修改按钮的text。
有时会发生重复,可能就是重复点击、延时等意外问题。
建议每次提交之前建立一个变量,锁定提交状态,当提交的结果返回时,再解锁提交状态。例如:
var is_sending = false;
例如:
$('btn').click(function(){
if ( is_sending == true ){ //判断是否提交中
return false;
}else{
is_sending = true; //锁定提交状态
$.post('url', {data}, function(){
is_sending = false; //解锁提交状态
//处理结果。
})
}
})
//如果是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异步请求。
如果需要发送同步请求,请将此async选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此async选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。