js防止表单重复提交的两种方法


Posted in Javascript onSeptember 30, 2013

第一种:用flag标识,下面的代码设置checkSubmitFlg标志:

<script language="”javascript”"> var checkSubmitFlg = false; 
function checkSubmit(){ 
if(checkSubmitFlg ==true){ return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。 
} 
checkSubmitFlg ==true; 
return true; 
} 
< /script > 
< form name=”form1” method=”post” onsubmit=”return checkSubmit();”> 
………..< /form>

第二种:在onsubmit事件中设置,在第一次提交后使提交按钮失效,代码如下:
<form action=”about:blank” method=”post” onsubmit =”getElementById(‘submitInput').disabled=true;return true;” target=”_blank”> 
<input type=”submit” id=”submitInput”/> 
</form> 
</body> 
</html> 
</script>

因为程序源码跟WIN2000的注册表有冲突,帖子发出后会出现无效页面,以致于论坛里有很多无恶意的重复帖子,后来想出了一个办法,用JS避免重复提交,下面是部分源码:
<script Language='JavaScript'> 
function formsubmit() { 
Today = new Date(); 
var NowHour = Today.getHours(); 
var NowMinute = Today.getMinutes(); 
var NowSecond = Today.getSeconds(); 
var mysec = (NowHour*3600)+(NowMinute*60)+NowSecond; 
if((mysec-document.formsubmitf.mypretime.value)>600) 
//600只是一个时间值,就是5分钟内禁止重复提交,值随你高兴设 
{ 
document.formsubmitf.mypretime.value=mysec; 
} 
else 
{ 
alert(' 按一次就够了,请勿重复提交!请耐心等待!谢谢合作!'); 
return false; 
} 
document.forms.formsubmitf.submit(); 
} 
</script> </HEAD> 
<BODY BGCOLOR="#FFFFFF"> 
<form name=formsubmitf id ="the" method="post" action="XXX.asp"> 
<input type=hidden name='mypretime' value='0'> //这句不能少,用隐含变量传递一个时间初值 
//这里是你要提交的内容 
<input type="button" value="写好了" name="button1" class="4round" onclick='formsubmit()'> <font class="red">(请按一次,耐心等待!)</font> <input type="reset" value="重 写" name="button2" class="4round"> 
</form>

用了这个代码,论坛的重复帖子明显减少,不过有个缺点,就是刷新一次,检测就不起作用,好处就是利用JS检测,不需要额外的权限支持,至于效果如何,用不用就随你们了,(最好前端跟后端都加上检测)
Javascript 相关文章推荐
jquery select动态加载选择(兼容各种浏览器)
Feb 01 Javascript
jQuery父级以及同级元素查找介绍
Sep 04 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
Aug 04 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
Apr 04 Javascript
layui的table中显示图片方法
Aug 17 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
Oct 23 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
Nov 29 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
js借助ActiveXObject实现创建文件
Sep 29 #Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 #Javascript
在父页面调用子页面的JS方法
Sep 29 #Javascript
javascript完美拖拽的实现方法
Sep 29 #Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 #Javascript
js中的scroll和offset 使用比较的实例与分析
Sep 29 #Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 #Javascript
You might like
做个自己站内搜索引擎
2006/10/09 PHP
国内php原创论坛
2006/10/09 PHP
支持oicq头像的留言簿(一)
2006/10/09 PHP
PHP内核探索:变量概述
2014/01/30 PHP
PHP闭包实例解析
2014/09/08 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python的时间模块datetime详解
2017/04/17 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
python的sys.path模块路径添加方式
2020/03/09 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
老龙头导游词
2015/02/11 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书