javascript - 我在 JavaScript 中从表单重新提交数据时遇到问题

标签 javascript html forms

我有以下情况:

  • 用户填写 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/

相关文章:

javascript - Express - 在用作静态服务器之前编辑 HTML

javascript - 客户端服务器从自己的域返回 json 时没有 'Access-Control-Allow-Origin'

javascript - CSS 没有格式化 ActionLinks

javascript - 如何使用 Javascript 构建查询字符串

javascript - Travis 失败,状态码为 127

javascript - 使用负边距来控制 flex-box 中的空间

html - 为什么缩放后的图像仍然占据原来的宽度和高度?

jquery - 在 jquery 中,如何通过单击按钮引用当前表单

python - 验证多个字段,因为它们是一个?

javascript - 关于 $q 和 Promise 的困惑