0

フォームを別のURLに送信できるようにしたいと思います(これは問題ではありません)。送信後、フォームのアクションを元の状態に設定します。

$(".submitForExport").click(function() {

    // Saves current form action
    var originalAction = $(this).parents('form').attr('action');

    // Sets form action to export URL, submits and resets form action to previous action
    $(this).parents('form').attr('action', $('#alternativeUrl').val());
    $(this).parents('form').submit();
    $(this).parents('form').attr('action', originalAction);
});

ただし、上記のコードはフォームを元のアクションに送信します。送信アクションが最後にトリガーされたように見えますか?

最後の行がコメントアウトされている場合、フォームは期待どおりに代替URLに送信されますが、フォームアクションはコース外で代替URLに設定されています。

送信後にアクションを元の状態に設定する方法はありますか?それとも、これを行うためのより良い方法はありますか?おそらくAjax?

4

1 に答える 1

1

return false;関数の最後にを追加してみてください。クリックイベントは送信ボタンでキャッチされたと思います。したがって、フォームは2回送信されます。1つは手動でトリガーされたメソッドを使用し、もう1つはボタンの.submit()おかげで関数の最後に送信されます。type="submit"

于 2012-08-22T09:27:23.920 に答える