只允许提交一次表单

Posted Y_WEB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了只允许提交一次表单相关的知识,希望对你有一定的参考价值。

在提交表单时,如果服务器响应速度慢,或者因为别的什么原因,导致按下提交出现“没反应”的情况,这是就要限制只允许提交一次表单以减轻服务器压力

有两种方式:

1.提交之后禁用按钮  2.提交之后取消后续的表单操作

  第一种:

document.getElementById(‘提交按钮‘).disable==true; //将按钮禁用,不过缺点是可以通过回车来提交

 第二种:

window.onload=function(){
	var form=document.getElementById(‘form‘);
	flag=false;  //监听变量用于提交一次表单
	form.onsubmit=function(e){
		e.preventDefault(); 
		if (flag) {return;};
		flag=true;
		setTimeout(function(){
			alert(‘tijaio ‘);
			form.submit();
		},3000)
		
	}
}

//首先先禁用掉提交事件,让他3秒后提交,模仿请求服务器的过程,通过一个监听变量flag,第一次提交将他设置为true,判断 如果是true就退出不提交,以这种方式达到提交一次的目的

  

 

以上是关于只允许提交一次表单的主要内容,如果未能解决你的问题,请参考以下文章

多次点击提交后如何只提交一次表单?

jquery允许取消提交后提交表单

SpringBoot中表单提交报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“(代码片段

jQuery 提交事件处理程序只工作一次

VBA Access 2003 只允许在合理的时间内按下按钮一次

javascript 防止多次提交或执行(在规定时间段内只允许执行一次) 默认 3000ms