3

以下は私のアプリケーションの正確なシナリオです。

忙しい猫

この写真は問題を明確に説明していると思います。同じことを理解する上で質問があれば私に知らせてください。

問題は、HttpPostアクションが2回呼び出され、データベースに2つのエントリが追加されることです。

2つのアクションを防ぐにはどうすればよいですか?

4

2 に答える 2

4

submit()問題は、ボタンをクリックするたびにフォームにハンドラーを追加するためです。したがって、2回目にフォームを送信すると、アクションが2回ヒットし、3回目のクリックは3つの投稿を意味します。

これを修正するにclick()は、送信ボタンまたはsubmit()フォームのみのいずれかにフックするようにコードを修正します。私の好みはフォームの送信です。これを試して:

$("form").submit(function(e) {
    e.preventDefault();
    $.ajax({
        url: 'EditEntryInline',
        type: 'POST',
        data: $(this).serialize(),
        success: function(result) {
            if (result.success) {
                window.location.reload();
            }
            else {
                // inform the user that the save didn't work
            }
        }
    });
});

idまた、このコードがsubmit()ページに表示されるすべてのフォームのイベントにフックしないように、セレクターを修正してを使用する必要があります。

于 2012-10-04T08:25:11.747 に答える
1

実際のフォーム送信にのajax送信を接続しています。最後に置くことを検討してくださいreturn false;

于 2012-10-04T08:29:03.860 に答える