如何在离开当前页面之前用JS触发对话框

问题描述:

当用户更改表单中的某些内容时,然后单击任何会将他引导到另一个页面的链接,我想要触发一个带有“您想要吗?在离开前保存好吗?“选项。如何在离开当前页面之前用JS触发对话框

我该怎么做?

例子:

<script type="text/javascript"> 
    var shouldConfirm = false; 
    window.onbeforeunload = function() { 
     if(shouldConfirm) { 
      return "You have made unsaved changes. Would you still like to leave this page?"; 
     } 
    } 
</script> 

<input id="FullName" type="text" /> 
<script type="text/javascript"> 
    document.getElementById('FullName').onchange = function() { 
     shouldConfirm = true; 
    } 
</script> 

有在4GuysFromRolla.com一个完整的文章。

这是它是如何做,但这并不总是可靠:

<html> 
<head> 
<script type="text/javascript"> 
function leaving() 
{ 
    if(confirm("Would you like to save?")) 
    { 
     //Save info 
    } 
    else 
    { 
     //Don't save 
    } 
} 
</script> 
</head> 
<body onUnload="leaving()"> 
<!--Stuff--> 
</body> 
</html>