Chrome Form多次提交表单问题的解决方法


Posted in Javascript onMay 09, 2011

今天用chrome提交一个表单时,发现一个奇怪的问题:

//提交表单 
document.frmOrder.action = 'http://www.abc.com/d.aspx'; 
document.frmOrder.method = 'POST'; 
document.frmOrder.target = '_blank'; 
document.frmOrder.submit();

第一次提交可以,第二次提交就没有任何响应了。需要重新加载页面后才可以提交,而这个问题在Firefox,IE下没有出现。
马上Google了一下发现这是webkit内核浏览器的共有特性,这样做是为了防止表单被重复提交。

解决方法也很简单,只需要为 submit 按钮添加 onclick 事件响应,给表单的 action 值添加一个无用的参数,改变表单的响应地址。

具体实现方法:

//提交表单 
document.frmOrder.action = 'http://www.abc.com/d.aspx?r='+Math.random(); 
document.frmOrder.method = 'POST'; 
document.frmOrder.target = '_blank'; 
document.frmOrder.submit();
Javascript 相关文章推荐
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
Jquery Select操作方法集合脚本之家特别版
May 17 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
javascript 获取图片尺寸及放大图片
Sep 04 Javascript
js脚本获取webform服务器控件的方法
May 16 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
js代码实现无缝滚动(文字和图片)
Aug 20 Javascript
详解JS对象封装的常用方式
Dec 30 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
Jan 19 Javascript
浅谈关于.vue文件中style的scoped属性
Aug 19 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
JQuery将文本转化成JSON对象需要注意的问题
May 09 #Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
May 07 #Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 #Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
May 07 #Javascript
基于jQuery的倒计时插件代码
May 07 #Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 #Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 #Javascript
You might like
Email+URL的判断和自动转换函数
2006/10/09 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
js 操作符汇总
2014/11/08 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
js实现移动端轮播图
2020/12/21 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
Python银行系统实战源码
2019/10/25 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
汉森批发:Hansen Wholesale
2018/05/24 全球购物
视光学专业毕业生推荐信
2013/10/28 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
Python合并pdf文件的工具
2021/07/01 Python