一种防止表单重复提交的处理方法与流程

文档序号:12494343阅读:326来源:国知局

本发明涉及web开发技术领域,具体涉及一种防止表单重复提交的处理方法,使用javaScript技术在客户端实现防止无意的重复提交操作,从而避免用户多次提交相同数据导致的用户数据异常的风险。



背景技术:

有这样一种场景,在用户完成某种页面操作时,需要点击确定按钮进行提交,而点击确定的时候,如果误操作连续两次点击确定按钮,而我们程序如果不对这种情况进行限制的话,就有可能连续处理两次用户的业务请求。从而导致用户数据错误。比如用户在填写注册信息时,如果出现这种情况,那么就可能存在两条一模一样的用户信息了。造成用户注册后却无法登录的后果。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种防止表单重复提交的处理方法。

本发明所采用的技术方案为:

一种防止表单重复提交的处理方法,所述方法应用于web客户端,使用变量记录提交状态,在提交时并对提交状态判断,以防止表单重复提交。

所述方法通过在javaScript中使用一个变量来达到防止表单重复提交的目的:首先定义一个全局变量checkSubmitFlg;

然后再定义一个方法:checkSubmit(),用于检查是否已经提交过表单;

所述方法会对是否已经提交做判断:如果checkSubmitFlg=true说明已经提交,则此方法返回false;

如果没有提交,把checkSubmitFlg变量置为true后,此方法再返回true。

所述方法在初始时,checkSubmitFlg变量被置为false,在用户第一次提交表单时,checkSubmit()方法会返回true,程序则进行后面的业务逻辑处理,以后重复提交表单时,调用checkSubmit()方法返回结果为false,则返回事件,不再进行后面的业务逻辑处理。

本发明的有益效果为:

本发明方法能够保护用户数据的准确性,防止重复提交相同的数据,可防止用户由于误操作引起的数据问题导致的用户投诉。

具体实施方式

下面结合具体实施方式对本发明进一步说明:

实施例1

一种防止表单重复提交的处理方法,所述方法应用于web客户端,使用变量记录提交状态,在提交时并对提交状态判断,以防止表单重复提交。

实施例2

在实施例1的基础上,本实施例所述方法通过在javaScript中使用一个变量来达到防止表单重复提交的目的:首先定义一个全局变量checkSubmitFlg;

然后再定义一个方法:checkSubmit(),用于检查是否已经提交过表单;

所述方法会对是否已经提交做判断:如果checkSubmitFlg=true说明已经提交,则此方法返回false;

如果没有提交,把checkSubmitFlg变量置为true后,此方法再返回true。

实施例3

在实施例2的基础上,本实施例所述方法在初始时,checkSubmitFlg变量被置为false,在用户第一次提交表单时,checkSubmit()方法会返回true,程序则进行后面的业务逻辑处理,以后重复提交表单时,调用checkSubmit()方法返回结果为false,则返回事件,不再进行后面的业务逻辑处理。

实施例4

方法所涉及的代码:

Html代码:

<html:form action="myAction.do" method="post" onsubmit="doSomeThing();">

JavaScript代码:

<script language="javascript">

var checkSubmitFlg = false; //设置检查变量,

function checkSubmit() {

if (checkSubmitFlg == true) { //判断如果已经提交了,返回false。

return false;

}

checkSubmitFlg = true; //如果没有提交,设置变量为true,并返回true

return true;

}

function doSomeThing(){

if(checkSubmit()){

Do your work……;

}else{

return false;

}

}

</script>

在onsubmit事件中,do your work部分为onsubmit事件的业务逻辑处理代码。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1