在项目中应用到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...
下一篇: 为了申请支付宝的在线支付测试...