js防止表单重复提交、刷新、后退的方法介绍

发布时间:2020-04-27编辑:脚本学堂
js防止表单重复提交、刷新、后退的方法介绍,有需要的朋友可以参考下。基本的解决方法,分为二类,服务器端与客户端的解决方法。

js防止表单重复提交、刷新、后退的方法。

分为二类,服务器端与客户端的解决方法。

做法:a页面显示表单,然后提交b页面处理,处理完后重定向到c页面显示结果。

1、在访问a页面时在session里生成一个标志ID,例如
 

复制代码 代码示例:

//伪代码
session("submitID")=random()
然后把这个值写到表单的一个hidden的input里

//伪代码
<%response.write("<input name=submitID2 type=hidden value=""+session("submitID")+"">")%>

1)、b页面处理时判断表单所提交的submitID2的值是否和session中的submitID一致,不一致的话重定向到报错页面,一致的话把session中的submitID清空然后进行表单处理
 

复制代码 代码示例:
//伪代码
session("submitID")=""
//然后处理提交......
处理完成后重定向到c页面

2)、c页面其实就没什么好说的了,就是一个显示处理结果的页面。

2、客户端用js解决
此办法受不同浏览器的限制,所以在使用时要注意测试。

1)、防止后退
代码:
 

复制代码 代码示例:
<script>window.history.forward();</script>

2)、防止刷新(方法一般,但有效果)
 

复制代码 代码示例:
<body onunload="location='about:blank'>"