【发布时间】:2011-10-28 08:09:25
【问题描述】:
<form method="post" target="take_the_reload">
...
</form>
<iframe class="hide_me" name="take_the_reload"></iframe>
我的问题如下:
我有一个表单需要防止在提交时刷新它所在的页面。为了解决这个问题,我一直使用空的iframe 作为表单的target。这在 Chrome (v12.0.742) 中完全符合预期,但在 Firefox (v6.0) 中失败。
在 Firefox 中发生的情况是,在提交表单时 iframe 在新选项卡中打开,这显然不是我想要的。
我找到了somerelatedposts,但没有一个能解决我的特殊情况,而且他们的解决方案不起作用。
不幸的是,这项工作是在专用网络中的专有系统上进行的,所以我不能简单地提供一个链接。
我也尝试过使用frame 而不是iframe 作为对相关主题的回答,即不推荐使用iframes 这种方式。但结果是一样的。
此外,iframe 也被硬编码到页面中,因为它不是通过 JavaScript 动态添加的。最后,就像我之前说的,这在 Chrome 中可以完美运行,但在 Firefox 中根本无法运行。 IE 不是问题,因此欢迎任何非 IE 友好的解决方案!
【问题讨论】:
-
我遇到了同样的问题,在接受的答案中提出的解决方案已经应用,因为我的控制器返回了没有内容的 HTTP-201。所以我也没有设置内容类型。只需设置内容类型即可解决问题。