2

我有以下情况:

  • 用户填写 HTML 表单
  • 用户按下提交按钮
  • 出乎意料的坏事发生了
  • 服务器使用重试按钮检索错误页面。此页面不再具有原始表单。当用户单击重试按钮时,我希望重新提交最后一个帖子数据

我什至不知道这是否可能。我正在retry按钮上尝试这个: window.location.reload(true);

结果是:

  • 在 Firefox 上,它可以完美运行。它重新发布数据并向用户显示生成的 HTML。
  • 在谷歌浏览器上它不会重新发布数据,它在同一个 URL 上使用 GET,我会看看 Fiddler 以确保
  • IE 9 重新发布数据,但作为回报显示空白屏幕。如果我重新加载它将显示正确的页面。

我希望他们每个人都像 Firefox 一样工作。我想问题出在这个错误页面中没有原始表单。

我可以在 JavaScript 中做些什么来使它们都具有正确的行为吗?

4

1 回答 1

3

您应该在重试表单中包含发布数据。将发布数据包装在 a 中<form>并重新提交表单。

形式:

<form id="retryform" name="retryform" action="postfile.html" method="post">
    <!-- post data -->
</form>

JS:

document.getElementById('retryform').submit();
// or
document.forms["retryform"].submit();
// or
document.retryform.submit();
于 2012-12-20T12:55:23.853 回答