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 相关文章推荐
csdn 论坛技术区平均给分功能
Nov 07 Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
jQuery中data()方法用法实例
Dec 27 Javascript
AngularJS 入门教程之HTML DOM实例详解
Jul 28 Javascript
Bootstrap菜单按钮及导航实例解析
Sep 09 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
基于Bootstrap框架实现图片切换
Mar 10 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 Javascript
js中arguments对象的深入理解
May 14 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
微信小程序实现购物页面左右联动
2019/02/15 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
Python对数据库操作
2016/03/28 Python
深入理解Python3中的http.client模块
2017/03/29 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
django admin 添加自定义链接方式
2020/03/11 Python
python 画图 图例自由定义方式
2020/04/17 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
优秀团员自我评价范文
2014/04/23 职场文书
经营管理策划方案
2014/05/22 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
鸦片战争观后感
2015/06/09 职场文书
售房协议书范本
2015/08/11 职场文书
新教师教学工作总结
2015/08/14 职场文书
电力培训学习心得体会
2016/01/11 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python