如果试图退出,通知用户页面被修改了,技术是什么?

时间:2011-08-11 19:05:18

标签: javascript jquery

如果用户在包含表单的页面上,并且他们已编辑了某些内容,然后尝试导航到其他页面,我该如何通知他们?

人们如何做到这一点?

是计算所有输入字段的哈希并比较它们是否退出页面?

是否有页面卸载事件?

3 个答案:

答案 0 :(得分:6)

我喜欢只提示用户他们是否真的改变了某些东西。像这样:

var changesMade = false;

function onDataChanged() {
    changesMade = true;
}

$('input:text, textarea, select').change(onDataChanged);
$('input:checkbox, input:radio').click(onDataChanged);

$(window).bind('beforeunload', function() {
    if (changesMade) {
        return 'Changes have been made. Are you sure you want to leave the page?';
    } else {
        return null;
    }
});

答案 1 :(得分:0)

onbeforeunload事件:

$(window).bind('beforeunload', function() {
    return 'Are you sure?';
});

在某些浏览器上显示消息,在其他浏览器上显示消息。它会在所有浏览器上显示一个带有LeaveStay按钮的对话框(据我所知),以便用户可以选择。

答案 2 :(得分:0)

使用beforeunload窗口事件。

$(window).bind('beforeunload', function() {
        return confirm("Alert user");
    });