3

フォーム内の構成に応じてファイルをダウンロードするページがあります。

フォームを送信すると、ファイルは正常にダウンロードされますが、フォームを変更して再度送信しても何も起こりません。

フォームの例:

<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ダウンロード」ボタンが押されるたびにイベントがトリガーされますが、ファイルは初めてダウンロードされます。

4

3 に答える 3

2

ダウンロード URL が であると仮定すると、downloadそこにスラッシュを追加する必要があります。そうしないと、次の送信時/download/downloadに明らかに存在しない場所に移動します。これが正しい場合は、アクションを次のように設定してみてください。action="/download"

于 2013-03-12T15:11:42.180 に答える
1

ブラウザが何らかの形で送信用の URL をキャッシュしている可能性はありますか? 送信ボタンを押した後、ダウンロード URL にランダム パラメータを追加してみてください。そうすれば、次に送信を押したときに、ブラウザーはそれが別の URL であると認識しますか?

于 2013-03-12T15:46:03.447 に答える
0

さて、問題は、いくつかのJavascriptがこのようなことをしていることでした(コードは単なる例示です:P)...

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

これは、通常のフォームが複数回送信されるのを防ぐためでした。

みなさん、ありがとうございました。

于 2013-03-12T21:58:45.500 に答える