Javascript 为什么刷新页面时表单会自动重新提交

Javascript 为什么刷新页面时表单会自动重新提交,javascript,forms,firefox,refresh,Javascript,Forms,Firefox,Refresh,有人知道为什么刷新页面时表单会自动重新提交吗 我需要设置一个javascript cookie来测试是否刷新页面-如果是,那么就这样做,等等。。。这是对body load事件的操作。表单通过隐藏的iFrame提交 问题是,当出现这种情况时,页面上的“购买”按钮(提交)表单会重新提交,从而返回到刚从(篮子)返回的页面。这在FF中发生,但在IE中不发生 感谢您的帮助。FireFox旨在保存您的表单/输入,包括提交按钮。 这在开发带有表单的网站时非常有用,因此您不必一直填写表单,但有时也会遇到阻碍,但

有人知道为什么刷新页面时表单会自动重新提交吗

我需要设置一个javascript cookie来测试是否刷新页面-如果是,那么就这样做,等等。。。这是对body load事件的操作。表单通过隐藏的iFrame提交

问题是,当出现这种情况时,页面上的“购买”按钮(提交)表单会重新提交,从而返回到刚从(篮子)返回的页面。这在FF中发生,但在IE中不发生


感谢您的帮助。

FireFox旨在保存您的表单/输入,包括提交按钮。
这在开发带有表单的网站时非常有用,因此您不必一直填写表单,但有时也会遇到阻碍,但这是一种浏览器功能,而不是代码问题。

解决此问题的一种常见方法是与邮件接收者进行欺骗:

捕获脚本完成POST所需的所有处理后,抛出一个重定向到当前请求的URI的
位置:
头。这会导致浏览器将最终目的地识别为未收到帖子,因此刷新不会重新提交帖子

PHP示例 page.php

嗨,我永远不会尝试重新提交POST数据!

如果您发布以进入当前页面(而不是发布,然后是response.redirect以进入当前页面),当您点击浏览器的刷新按钮时,它将重新发布。不过,我不确定这与您隐藏的Iframe问题有什么关系。(从本质上看,我似乎是在重复沙德刚才说的话)。

那太快了!我能做些什么来防止它发生吗?我想在FireFox的某个地方有一个关闭它的设置-可能在隐藏的设置中-但这只会在你的浏览器中关闭它,任何使用FireFox的人都会遇到同样的问题。因为这是一个浏览器的事情,并且发生在任何代码处理之前,你不能用代码停止它。弗朗西斯,暂时将操作权限设置为无法工作的内容,并在页面加载完成后将其设置回原处,怎么样?现在我在搜索表单上做的是,当按下submit按钮时,它通过AJAX提交表单,AJAX返回一个id,然后javascript重定向到一个新页面,其中包含数据库中所有搜索数据的搜索id。这样,用户不仅可以刷新页面,而且还可以返回到已经填写了表单信息的页面。你用什么服务器端语言来获取帖子?如果是PHP,我可以给你一行代码来完成它=)如果你想上传,我可能会按照代码进行操作。Hi Shad。对不起,我不确定我必须这么做。您能否详细说明一下如何以及在何处放置位置标题?已经很晚了,这是漫长的一天。。。
<?php
if (!empty($_POST)) {
    // Do some stuff
    header('Location: page.php');
    // The second time around _POST won't have any data,
    // so there's not worry of an infinite loop
    exit;
}
?>
<h1>Hi, I will never try to resubmit POST data!</h1>