我有一个页面,您可以保存笔记。
如果用户在未保存的情况下写入某些笔记并尝试导航,则会出现一个对话框,警告用户除非您保存更改,否则更改将会丢失。
信息如下:
“您在”备注“部分中有未保存的更改。请保存更改,否则它们将丢失。您确定要离开此页面吗?”
这种情况很好。但是页面上有一个提交按钮(提交表单),如果用户点击提交按钮,则会出现带有相同消息的对话框。
在这种情况下,我希望显示相同的消息但没有“您确定要离开此页面吗?”。我似乎无法控制它。单击提交按钮后,在提交表单后会出现相同的页面,这就是我不希望出现该部分消息的原因。
如何删除“您确定要离开此页吗?”消息的一部分?
window.onbeforeunload = function (e) {
var lastClickedElement = document.activeElement;
var submitButtonOne = document.getElementById("submitButton1");
var submitButtonTwo = document.getElementById("submitButton2");
if (!lastClickedElement.isEqualNode(submitButtonOne)) {
if (lastClickedElement.isEqualNode(submitButtonTwo)) {
if ($('#notesTextBox').val() !== currentText) {
return 'I want this dialogue box not to contain "Are you sure you want to leave this page?"';
}
}
if ($('#notesTextBox').val() !== currentText) {
return 'You have unsaved changes in the Notes section. Please save your changes or they will be lost.';
}
}
return null;
};
上面的代码说明 - 当window.onbeforeunload被触发并且用户实际上试图离开页面时我想要显示该消息。当window.onbeforeunload被触发并且单击了submitButton1时,我不希望它做任何事情。当window.onbeforeunload被触发并且单击了submitButton2时,我希望它显示消息而不显示“你确定要离开这个页面吗?”一部分。