当用户离开窗口而不保存数据时提供自定义消息

时间:2016-08-23 12:26:11

标签: javascript jquery

任何人都可以向我提供一个自定义提示框,说明“您即将离开页面,更改将被丢弃”是/否。

我尝试使用以下代码,但它给出了默认消息,说明“您所做的更改可能无法保存”

这是我的javascript代码

unsaved=true;
window.onbeforeunload = function() { 
    if (unsaved) 
    { 
        var _message = "You currently have unsaved changes!!!\n\nAre you sure you want to exit without saving.\n\nChoose ‘Leave this page’ to exit without saving changes.\nChoose ‘Stay on this page’ to return to the billing profile."; 
        return _message; 
    } 
}

此外,我没有任何形式,只有简单的按钮,我不能在表格中包含,点击该按钮也会给我警告。这是Fiddle尝试,任何帮助真的很感谢谢谢。我知道早些时候有关于这个主题的问题,但我相信我现在都没有。 更新以前的StackOverflow示例中解释了一些方法,但它们现在在现代浏览器中不起作用。

2 个答案:

答案 0 :(得分:0)

JavaScript中有一个名为window.confirm()的方法:https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm

if (window.confirm("Question"))
  console.log('clicked OK');
else
  console.log('clicked cancel');

答案 1 :(得分:0)

试试这个Jquery

$(window).bind('beforeunload', function(){
  return 'Your message here';
});

的Javascript

window.onbeforeunload = function(){
  return 'Your message here';
};