Heim > Backend-Entwicklung > PHP-Tutorial > 关于表单重复提交的问题

关于表单重复提交的问题

WBOY
Freigeben: 2016-06-23 13:47:05
Original
1036 Leute haben es durchsucht

有一个注册表单 采用的是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;            }        });    }}
Nach dem Login kopieren
Nach dem Login kopieren

看看下面的代码:

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;            }        });    }}
Nach dem Login kopieren
Nach dem Login kopieren


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

显示一个旋转的菊花吧

然后设置一个发送开关

<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>
Nach dem Login kopieren

谢谢大家 不错的想法

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

支持3楼的答案

谢谢大家的热心回答

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage