onbeforeunload = "func()"var func = function(){
  if(保存)
  ...
}

解决方案 »

  1.   

    <script>
    var isSaved = false
    function f()
    {
    if(!isSaved)
    {
    alert("没有保存")
    return false;
    }
    }
    </script>
    <body onbeforeunload="return f()">
    <form>
    <input type=submit onclick="isSaved=true">

    </form>
      

  2.   

    <script>
    var isSaved = true;
    var input = document.getElementsByTagName("input");
    for(var i=0;i<input.length; i++) input[i].attatchEvent("onchange", "func")
    function func(){
        isSaved = false
    }
    function f()
    {
    if(!isSaved)
    {
    alert("没有保存")
    return false;
    }
    }
    </script>
    <body onbeforeunload="return f()">
    <form>
    <input type=submit onclick="isSaved=true">

    </form>
      

  3.   

    前面那个不对。
    <body onbeforeunload="return f()">
    <form>
    <input type=text>
    <input type=checkbox>
    <input type=submit>

    </form>
    <script>
    var isSaved = true;
    var input = document.getElementsByTagName("INPUT");
    for(var i=0;i<input.length; i++){
    input[i].attachEvent("onchange", func);
    }
    function func(){
        isSaved = false
    }
    function f()
    {
    if(!isSaved)
    {
    alert("没有保存")
    return false;
    }
    }
    </script>