javascript下阻止表单重复提交、防刷新、防后退


Posted in Javascript onAugust 17, 2007

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

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

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

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

//伪代码 
<%response.write("<input name=submitID2 type=hidden value=\""+session("submitID")+"\">")%> 
1.1 b页面处理时判断表单所提交的submitID2的值是否和session中的submitID一致,不一致的话重定向到报错页面,一致的话把session中的submitID清空然后进行表单处理 

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

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

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

2.0防止后退 
在每个页面的最顶上加上这个代码 

<script>window.history.forward();</script> 
2.1防止刷新 
我很难想到什么好方法可以做到。因为要屏蔽的地方太多了。只好采用一种很烂的方法: 

<body onunload="location='about:blank'>" <!-- 这个方法只是个想法,没有经过调试 --> 

Javascript 相关文章推荐
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
Mar 14 Javascript
javascript全局变量封装模块实现代码
Nov 28 Javascript
JS解决ie6下png透明的方法实例
Aug 02 Javascript
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 Javascript
js表头排序实现方法
Jan 16 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
js中遍历Map对象的简单实例
Aug 08 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
React组件内事件传参实现tab切换的示例代码
Jul 04 Javascript
vue项目打包之开发环境和部署环境的实现
Apr 23 Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
Aug 17 #Javascript
wordpress之js库集合研究介绍
Aug 17 #Javascript
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 #Javascript
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 #Javascript
如何用js控制css中的float的代码
Aug 16 #Javascript
javascript 函数式编程
Aug 16 #Javascript
总结AJAX相关JS代码片段和浏览器模型
Aug 15 #Javascript
You might like
隐藏你的.php文件的实现方法
2007/03/19 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
python super函数使用方法详解
2020/02/14 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
机械电子工程毕业生自荐信
2013/11/23 职场文书
个人投资计划书
2014/05/01 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
植树节新闻稿
2015/07/17 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers