在项目中应用到AJAX比较多,在点击添加的时候会出现点击之后正在处理然后继续点击就会出错。
点击前:
点击后:
为了处理这个问题我百度了下:
点击之后给按钮添加disale,然后完成之后移除。
$('#addA').click(function(){
//点击之后disable的话验证的时候就需要移除
var title = $('#title').val();
var tag = $('#tag').val();
var keyword = $('#keyword').val();
var remark = $('#remark').val();
var content = UE.getEditor('container').getContent();
var time = $('#time').val();
var show = $('input[name="show"]:checked').val();
var org = $('input[name="org"]:checked').val();
var root = $('#root').val();
var hit = $('#hit').val();
if(!title){
err("文章标题不能为空!");
return false;
}else if(!tag){
err("文章类别不能为空!");
return false;
}else if(!keyword){
err("关键词不能为空!");
return false;
}else if(!remark){
err("文章描述不能为空!");
return false;
}else if(!content){
err("正文不能为空!");
return false;
}else if(!time){
err("发表时间不能为空!");
return false;
}else if(!show){
err("请选择是否显示!");
return false;
}else if(!org){
err("请选择是否原创!");
return false;
}else if(!root){
err("作者不能为空!");
return false;
}else if(!hit){
err("默认点击量不能为空!");
return false;
}
$("#addA").attr("disabled",true);
$.ajax({
type:"post",
url:"/Admin/Article/articleAdd",
async:true,
data:{"a_title":title,"a_remark":remark,"a_keyword":keyword,"pid":tag,"a_time":time,"a_content":content,"a_view":show,"a_hit":hit,"a_original":org,"a_author":root},
success:function(data){
if(data.error==0){
succ("添加文章完成!",data.msg,"/Admin/Article/articleList");
}else{
err(data.msg);
$("#addA").removeAttr('disabled');
}
},
eerror:function(data){
err("网络错误!");
$("#addA").removeAttr('disabled');
}
});
});这里点击的时候如果放在前面会再return flase的时候就需要移除,所以我处理的时候是放在验证之后。然后失败的时候移除,成功之后会刷新页面,所以没移除。
上一篇: ThinkPHP的ignore...
下一篇: 为了申请支付宝的在线支付测试...