如何显示对话框,但没有“您确定要离开此页面吗?”消息在里面

时间:2016-02-04 10:35:07

标签: javascript jquery html

我有一个页面,您可以保存笔记。

如果用户在未保存的情况下写入某些笔记并尝试导航,则会出现一个对话框,警告用户除非您保存更改,否则更改将会丢失。

信息如下:

“您在”备注“部分中有未保存的更改。请保存更改,否则它们将丢失。您确定要离开此页面吗?”

这种情况很好。但是页面上有一个提交按钮(提交表单),如果用户点击提交按钮,则会出现带有相同消息的对话框。

在这种情况下,我希望显示相同的消息但没有“您确定要离开此页面吗?”。我似乎无法控制它。单击提交按钮后,在提交表单后会出现相同的页面,这就是我不希望出现该部分消息的原因。

如何删除“您确定要离开此页吗?”消息的一部分?

    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时,我希望它显示消息而不显示“你确定要离开这个页面吗?”一部分。

0 个答案:

没有答案