Maison > développement back-end > tutoriel php > 关于表单重复提交的问题

关于表单重复提交的问题

WBOY
Libérer: 2016-06-23 13:47:05
original
1033 Les gens l'ont consulté

有一个注册表单 采用的是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;            }        });    }}
Copier après la connexion
Copier après la connexion

看看下面的代码:

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;            }        });    }}
Copier après la connexion
Copier après la connexion


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

显示一个旋转的菊花吧

然后设置一个发送开关

<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>
Copier après la connexion

谢谢大家 不错的想法

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

支持3楼的答案

谢谢大家的热心回答

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal