首頁  >  文章  >  web前端  >  Chrome Form多次提交表单问题的解决方法_javascript技巧

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

WBOY
WBOY原創
2016-05-16 18:06:501484瀏覽

今天用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();
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn