表单仅在第一次发送

时间:2013-03-12 15:05:27

标签: html forms download

我有一个页面可以下载文件,具体取决于表单中的某些配置。

当我发送表单时,文件下载得很好,但是如果我更改表单并再次发送,则没有任何反应。

示例表单:

<form action="/download" method="get" target="_blank">
  <input type="checkbox" name="some_option" value="1" />
  <input type="submit" value="Download" />
</form>

表单仅在第一次发送。

我考虑过使用JS发送表单,但我不认为文件下载是这样的。

有什么建议吗?

编辑:添加了target="_blank"之类的建议。

更新:

补充说:

$('form').submit(function() {
  this.action = addRandomParam(this.action);
  console.log(this.action);
});

每次点击“下载”按钮时都会触发submit事件,但我仍然只是第一次下载文件。

3 个答案:

答案 0 :(得分:2)

假设您的下载网址为download,您需要在其中添加斜杠,否则下次提交会将您带到显然不存在的/download/download。如果这是正确的,您可以尝试将操作设置为action="/download"

答案 1 :(得分:1)

可能是浏览器以某种方式缓存您提交的网址?您可以尝试在点击提交按钮后向下载URL添加随机参数吗?这样,下次你点击提交时,浏览器会认为它是一个不同的网址?

答案 2 :(得分:0)

好的,问题是有些Javascript正在做这样的事情(代码只是说明性的:P)......

$('form').submit(function() {
  if (alreadySent()) {
    this.preventDefault();
  }
  setAsSent();
});

这是为了防止多次发送普通表格。

谢谢大家的答案。