手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript下阻止表单重复提交、防刷新、防后退
javascript下阻止表单重复提交、防刷新、防后退
摘要:1服务器端的解决方法。这是我最为推荐的方法。优点是判断准确,兼容性最大。做法:a页面显示表单,然后提交b页面处理,处理完后重定向到c页面显示...

1服务器端的解决方法。这是我最为推荐的方法。优点是判断准确,兼容性最大。

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

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

//伪代码

session("submitID")=random()

然后把这个值写到表单的一个hidden的input里

//伪代码

<%response.write("<inputname=submitID2type=hiddenvalue=""+session("submitID")+"">")%>

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

//伪代码

session("submitID")=""

//然后处理提交......

处理完成后重定向到c页面

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

2客户端用js解决

这种方法不好,因为必然会遇到不同浏览器的兼容性问题,而且是必然可以绕过的。唯一的优点就是简单,不需要太多的编码

2.0防止后退

在每个页面的最顶上加上这个代码

<script>window.history.forward();</script>

2.1防止刷新

我很难想到什么好方法可以做到。因为要屏蔽的地方太多了。只好采用一种很烂的方法:

<bodyonunload="location='about:blank'>"<>

【javascript下阻止表单重复提交、防刷新、防后退】相关文章:

浅析javascript函数表达式

JavaScript 正则表达式中global模式的特性

javascript实现dom动态创建省市纵向列表菜单的方法

JavaScript模版引擎的基本实现方法浅析

javascript实现链接单选效果

javascript鼠标滑动评分控件完整

Javascript进制转换实例

javascript中createElement的两种创建方式

理解javascript定时器中的单线程

javascript实现树形菜单的方法

精品推荐
分类导航