我在使用JavaScript重新提交表单中的数据时遇到问题

时间:2012-12-20 12:48:22

标签: javascript html forms

我有以下情况:

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

我甚至不知道是否可能。我正在retry按钮上尝试此操作: window.location.reload(true);

结果是:

  • 在Firefox上它完美无缺。它会重新发布数据并向用户显示生成的HTML。
  • 在Google Chrome上,它不会重新发布数据,它会在同一个网址上使用GET,我会看看Fiddler以确保
  • IE 9重新发布数据但显示空白屏幕作为回报。如果我重新加载它将显示正确的页面。

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

我能用JavaScript做些什么来让它们都有正确的行为吗?

1 个答案:

答案 0 :(得分:3)

您应该在重试表单中包含帖子数据。将帖子数据包裹在<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();