1

ユーザーが Web ページのすべての手順を完了していない場合に備えて、保存されたデータを削除したいと考えています。

これは私がやったことです:

window.onbeforeunload = confirmExit;

function confirmExit()
{
    if (!$('body').find('.wizard_completed').attr('class')) {
        if (confirm($('body').find('.exit_confirm').html())) {
            $.ajax({
                type: 'POST',
                data: {action: delete_event}
            });
        }
    }
}

問題は、ユーザーが「キャンセル」をクリックすると、ページを更新する必要がない場合でもページが更新されることです。キャンセルをクリックした場合にページを更新しないようにするにはどうすればよいですか?

4

1 に答える 1

0

イベントを使用しonunloadて AJAX 呼び出しを行いonbeforeunload、メッセージを表示する必要があります。

window.onbeforeunload = confirmExit;
window.onunload = onunload;

function confirmExit()
{
    if (!$('body').find('.wizard_completed').attr('class')) {
        return $('body').find('.exit_confirm').html();
    }
}

function onunload(){
     $.ajax({
                type: 'POST',
                data: {action: delete_event}
            });
}
于 2013-07-03T09:29:22.387 に答える