在离开带有表单的页面时,我想在没有任何用户确认的情况下保存所做的更改。
找到这个问题后,我调整了以下答案之一。请注意,我没有使用 return:
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
alert('Gonna save now');
setTimeout(validate_submit,500);
}
这仅在用户在表单中填写某些值时触发。如果元素值发生变化,我使用
setConfirmUnload(true);
结果 FF23:当用户单击某处离开页面时,会显示警报,在“确定”时执行 validate_submit(),出现新页面 - 但现在警报再次出现,用户在“确定”时返回到原始页面. 为什么?有人可以确认这种行为吗?