文章目录[隐藏]
有一个注册表单 采用的是ajax提交 怎样防止用户重复提交表单,就是在用户提交一次以后 因为其它一些原因还没返回结果前 用户再次提交表单 造成重复数据 请教各位有什么好的办法可以解决
回复讨论(解决方案)
看看下面的代码:
namespace{flags:{}}namespace.flags.submit=<strong>*本文来源gaodai#ma#com搞@代~码^网+</strong><strong>搞代gaodaima码</strong>true;document.getElementById('btn').addEventListener('click',formSub);function formSub(){ if(namespace.flags.submit){ namespace.flags.submit = false; $.post('addr',{params:'},function(data){ if(data == 'OK'){ alert(OK'); namespace.flags.submit = true; } }); }}
看看下面的代码:
namespace{flags:{}}namespace.flags.submit=true;document.getElementById('btn').addEventListener('click',formSub);function formSub(){ if(namespace.flags.submit){ namespace.flags.submit = false; $.post('addr',{params:'},function(data){ if(data == 'OK'){ alert(OK'); namespace.flags.submit = true; } }); }}
主要想法就是设置一个标志变量,这个标志变量控制能否提交,程序写的不全,自己完善
显示一个旋转的菊花吧
然后设置一个发送开关
<script type="text/javascript">window.sending = false;if(!window.sending){ window.sending =true; //在这里开时转菊花 $.post('http://bbs.gaodaima.com/',{name:'shiki'},function(result){ console.log(result); },'json').always(function(){ window.sending = false; //在这里隐藏菊花 });}</script>
谢谢大家 不错的想法
当用户点击按钮后就将按钮置为不可以使用就可以了。
支持3楼的答案
谢谢大家的热心回答