大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
//如果是input就直接在提交过程中将按钮disable掉,如果是a可以用下面这种,当然解决根本问题还是后端验证重复提交的好
创新互联是一家集网站建设,邹平企业网站建设,邹平品牌网站建设,网站定制,邹平网站建设报价,网络营销,网络优化,邹平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
var sub = false;
$(btn).click(function(){
if(sub === true){
return;
}
sub = true;
$.post(url, function(){
//TODO
sub = false;
})
});
其实方法很简单,就是在用户点击了提交按钮之后将按钮设置为不可点击即可,具体代码如下:
$('#submit').click(function(){
var objButton=$(this);
var content=$('#content').val();
$.ajax({
url:web_url+'jquery.php',
type:'post',
cache:false,
data: 'action=submitcontent='+content,
beforeSend:function(){//触发ajax请求开始时执行
objButton.val('提交中').attr('disabled',true);//改变提交按钮上的文字并将按钮设置为不可点击
},
success:function(txt){//ajax请求成功后执行
//这里做相关逻辑判断了,具体根据自己的情况看了
},
error:function(){//ajax发生错误时执行
alert('数据请求出错!');
},
complete:function(){//ajax请求完成时执行
objButton.val('提交').attr('disabled',false);//改变提交按钮上的文字并将按钮设置为可以点击
}
});
});
这篇文章主要介绍了jquery提交form表单时禁止重复提交的方法,需要的朋友可以参考下
代码如下:
$(document).ready(function()
{
$('form').submit(function()
{
if(typeof
jQuery.data(this,
"disabledOnSubmit")
==
'undefined')
{
jQuery.data(this,
"disabledOnSubmit",
{
submited:
true
});
$('input[type=submit],
input[type=button]',
this).each(function()
{
$(this).attr("disabled",
"disabled");
});
return
true;
}
else
{
return
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。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
用一个变量,记录一下上次点击的时间,点击的时候判断当前时间和上次点击时间的差值。
或者
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; //解锁提交状态
//处理结果。
})
}
})