javascript - 如果尝试退出,通知用户页面被修改,有什么技巧?

标签 javascript jquery

如果用户在带有表单的页面上,并且他们编辑了一些内容,然后尝试导航到另一个页面,我该如何通知他们?

人们如何做到这一点?

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

是否有页面卸载事件?

最佳答案

我喜欢只在用户实际更改某些内容时提示用户。像这样:

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;
    }
});

关于javascript - 如果尝试退出,通知用户页面被修改,有什么技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7031404/

相关文章:

javascript - KnockoutJs 的关闭问题

javascript - 如何在 YUI 中做多个选择器

javascript - 如何在VueJs模板中创建临时变量?

javascript - Accordion 在 IE6 中乱七八糟

可见或不可见类中的 Jquery 输入字段

javascript - JQuery 触发更改甚至组合框的选定值在页面加载时检查

javascript - 存储变化时如何记住组件?

javascript - # 在 URL 中使用 Javascript?

javascript - 自定义 jquery 选择器在我的情况下不起作用

javascript - 我们可以在不编写 filteredMessages 函数的情况下获得相同的功能