如果用户正在填写表单并对其进行了编辑,然后尝试导航到另一个页面,我该如何通知他们?
人们是如何做到这一点的?
这是计算所有输入字段的哈希值并比较它们是否正在退出页面的问题吗?
是否有一个在页面卸载时触发的事件?
人们是如何做到这一点的?
这是计算所有输入字段的哈希值并比较它们是否正在退出页面的问题吗?
是否有一个在页面卸载时触发的事件?
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;
}
});
onbeforeunload
事件:
$(window).bind('beforeunload', function() {
return 'Are you sure?';
});
使用窗口的beforeunload
事件。
$(window).bind('beforeunload', function() {
return confirm("Alert user");
});