Home > Backend Development > PHP Tutorial > 关于表单重复提交的问题

关于表单重复提交的问题

WBOY
Release: 2016-06-23 13:47:05
Original
1035 people have browsed it

有一个注册表单 采用的是ajax提交 怎样防止用户重复提交表单,就是在用户提交一次以后  因为其它一些原因还没返回结果前 用户再次提交表单 造成重复数据  请教各位有什么好的办法可以解决


回复讨论(解决方案)

看看下面的代码:

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;            }        });    }}
Copy after login
Copy after login

看看下面的代码:

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;            }        });    }}
Copy after login
Copy after login


主要想法就是设置一个标志变量,这个标志变量控制能否提交,程序写的不全,自己完善

显示一个旋转的菊花吧

然后设置一个发送开关

<script type="text/javascript">window.sending = false;if(!window.sending){	window.sending =true;	//在这里开时转菊花	$.post('http://bbs.csdn.net/',{name:'shiki'},function(result){		console.log(result);	},'json').always(function(){		window.sending = false;		//在这里隐藏菊花	});}</script>
Copy after login

谢谢大家 不错的想法

当用户点击按钮后就将按钮置为不可以使用就可以了。

支持3楼的答案

谢谢大家的热心回答

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template