1

後でモーダル ダイアログに表示される ID「edit-resource」のフォームがあるとします。

モーダルフォームが何度ポストバックされて置き換えられても、リスナーがイベントをキャプチャするように、ドキュメントにリスナーをアタッチします。

$(document).on('submit', '#edit-resource', function(e) {
    //breakpoint
    //ajax request with new FormData
    return false; //cancel submit
});

フォームを送信すると、イベント ハンドラーは期待どおりに実行されますが、ブレークポイントに到達するまでに、投稿は既にサーバーにヒットしています (これにもブレークポイントが設定されています)。送信イベントは (つまり、false を返すことによって) キャンセル可能であると想定されていますが、ハンドラーの最初の行で既にサーバーにヒットしている場合、そのようなイベントをキャンセルすることはできません。この問題の原因は何ですか?

4

1 に答える 1

0

使用する.preventDefault

$(document).on('submit', '#edit-resource', function(e) {
    e.preventDefault(); // Will stop your form from submission
    //breakpoint
    //ajax request with new FormData
    return false; //cancel submit
});
于 2015-11-18T20:05:37.593 に答える