0

如果他想离开页面,我正在尝试警告用户保存数据。消息应显示简单的“是否要保存数据?” , 如果是调用代码后面的方法(asp:button click),如果是从页面离开页面。

但是现在它在我的消息中显示了不需要的消息字符串(见下文)。

在此处输入图像描述

 var form_has_been_modified = 0;
    $(function () {

        $("input").keyup(function () {
            form_has_been_modified = 1;
        })
        window.onbeforeunload = function (e) {
            if (!form_has_been_modified) {
                return;
            }

            var message = "Do you want to save the data before leave the page?";

            return message;
        }

    });
4

2 回答 2

1

不幸的是,这是浏览器行为,您无法更改它。您可能需要重新措辞您的消息,以便它在浏览器预定义消息的上下文中有意义。此外,请确保您测试其他浏览器,因为消息和行为可能会有所不同。

于 2012-09-04T22:28:07.703 回答
0

这是 Internet Explorer(作为客户端 Web 浏览器)的一种特殊行为,您对此无能为力。它是仅用于 onbeforeunload() 的特殊框。如果您在 JS 的其他地方显示是/否对话框,您将得到正常的框。但是对于 onbeforeunload() 你会得到这样的对话框。

在 IE9 中,它被更复杂的框所取代,它具有“离开页面”和“留在页面上”按钮。这样做是为了保护用户免受欺诈网站的侵害。

于 2012-09-04T22:28:50.050 回答