window.onbeforeunload = function ()
{
return "You have not saved your profile.  Would you like to save it now?";
}此代码可以实现用户跳转到其它页面的弹出提示. 但是我想根据用户选择 执行一定的代码. 
用户选择"是" 时用 js 操作当前页的表单提交, 而不是跳转到用户点到的链接
选择否时留在原页面不做任何操作..尝试用了 
if(confirm("You have not saved your profile.  Would you like to save it now?""))
{
  document.body.onbeforeunload = null;
}
提示框替换掉了,也能取到用户选择结果了, 可是不能中止跳转.

解决方案 »

  1.   

    <script type="text/javascript">   
    function   IsClose(){   
    if(confirm("离开前要保存表单么?")){   
      return  true;   
    }   
      return  false;   
    }
    function saveform(){
       alert("FFFFFFFF")
    }
    </script>   
    <body onbeforeunload="javascript:if(IsClose()){saveform();}else{return '您的表单还没保存的';}"></body>这样子可以么?
      

  2.   

    <script>
    function beforeUnload()
    {
    if(confirm("离开前要保存表单么?"))
    {
    alert("Save```");
    }
    else
    {
    alert("Bye```");
    }
    }
    </script><body onbeforeunload="beforeUnload()">
    </body>我也不知道怎样阻止页面的关闭,现在只能加一块代码给执行了,不然的话,引用楼上的 :不然的话用户就有可能不能离开当前页面的危险。
      

  3.   

    看来比较麻烦, 用 confirm 选否时不能阻止跳转. 而且在 firefox 下会产生两个提示框.一个是 confirm 的, 一个是浏览器的."are you sure you want to navigate away from this page?"用了 document.body.onbeforeunload = null; 可以取消浏览器的弹出框提示.