我有以下情况:
- 用户填写 HTML 表单
- 用户按下提交按钮
- 意外的糟糕事情发生了
- 服务器检索带有重试按钮的错误页面。此页面不再具有原始形式。当用户单击重试按钮时,我希望重新提交最后一次发布的数据
我也不知道这是否可能。我正在“重试”按钮上尝试此操作:
window.location.reload(true);
结果是:
- 在 Firefox 上它运行得很好。它重新发布数据并向用户显示生成的 HTML。
- 在 Google Chrome 上,它不会重新发布数据,它在同一网址上使用 GET,我将查看 Fiddler 以确保
- IE 9 重新发布数据,但返回显示空白屏幕。如果我重新加载,它将显示正确的页面。
我希望它们都能像 Firefox 一样工作。我猜问题出在这个错误页面中缺少原始表单。
我可以在 JavaScript 中做些什么来使它们都具有正确的行为吗?
最佳答案
您应该在重试表单中包含发布数据。将发布数据包装在 <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();
关于javascript - 我在 JavaScript 中从表单重新提交数据时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972588/