Chrome Form多次提交表单问题的解决方法
更新时间:2011年05月09日 18:55:26 作者:
第一次提交可以,第二次提交就没有任何响应了。需要重新加载页面后才可以提交,而这个问题在Firefox,IE下没有出现。
今天用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();
复制代码 代码如下:
//提交表单
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();
相关文章
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
这篇文章主要介绍了require.js与bootstrap结合实现简单的页面登录和页面跳转功能,需要的朋友可以参考下2017-05-05
仅用[]()+!等符号就足以实现几乎任意Javascript代码
仅用一些符号就足以实现几乎任意Javascript代码的方法,比较怪异,对于特殊需要可能用得到。2010-03-03
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
这篇文章主要介绍了微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-09-09
详解ES6 中的Object.assign()的用法实例代码
这篇文章主要介绍了ES6 Object.assign()的用法及用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01
微信小程序图片轮播组件gallery slider使用方法详解
这篇文章主要为大家详细介绍了微信小程序图片轮播组件gallery slider的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-01-01


最新评论