Rumah > pembangunan bahagian belakang > tutorial php > 关于表单重复提交的问题

关于表单重复提交的问题

WBOY
Lepaskan: 2016-06-23 13:47:05
asal
1033 orang telah melayarinya

有一个注册表单 采用的是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;            }        });    }}
Salin selepas log masuk
Salin selepas log masuk

看看下面的代码:

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;            }        });    }}
Salin selepas log masuk
Salin selepas log masuk


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

显示一个旋转的菊花吧

然后设置一个发送开关

<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>
Salin selepas log masuk

谢谢大家 不错的想法

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

支持3楼的答案

谢谢大家的热心回答

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan