不好意思,我没有把问题讲清楚。
画面上有去其他页的链接,
当点这些链接时,首先判断页面元素是否改变(也就是上面这个函数要做的)。
如果form中的元素改变了,那么显示一个提示信息,问要不要保存。
如果form中的元素没有改变,那么直接去那个链接指向的页面。

解决方案 »

  1.   

    设一个全局变量isChange = false;
    给每个无素加一个onchange=“isChange = true;”.
    当点这些链接时就只要看一下isChange是为true还是false;
      

  2.   

    先写一个遍历表单所有元素(form对象的elements属性就是包括表单中所有元素的数组)并生成一个所有元素值相加的字符串, 页面加载时执行一遍并且记录下来, 要比较的时候在执行一遍, 把新的值和最初那个值坐一个比较, 就知道有没有改变了
      

  3.   

    var isChanged = false;
    window.onload = function() {
      with(document.formName) {
        for(var i=0;i<elements.length;i++) {
          elements[i].onchange = function() {
            isChanged = true;
            alert(isChanged)
          }
        }
      }
    }
      

  4.   

    var a = document.forms[0].elements;
      var formIsModify = false;
      var count = a.length;
      for (var i=0; i<count; i++)
      {
        if (a[i].type && a[i].type=="text")//这里我只做了针对文本框的判断,别的你自己加
        {
          if (a[i].defaultValue!="" && a[i].value != a[i].defaultValue) {formIsModify = true; break;}
        }
      }