放你个
<input type=hidden>记录所有的默认值,提交之前进行比较

解决方案 »

  1.   

    这个办法可以是可以,但是因为我要改的form太多了,想找一个通用一些的。详细的可以看http://community.csdn.net/Expert/topic/3238/3238842.xml?temp=.2392542
    这些对于text类型的form是可以用的。但……
      

  2.   

    那就onLoad的时候把状态值存数组里提交前作比较
      

  3.   

    checkbox的也解决了,用delfaultSelected,
    但是select 表单呢?怎么看他的默认option改变没变
      

  4.   

    var obj=document.myform.f
    if (obj.options[obj.selectedIndex].defaultSelected == true) alert("Option"+obj.selectedIndex+"是默认选项")
      

  5.   

    <form name="myform" method="post" action="a.php">
    <input type=text name="a" value="5" >
    <input type=radio name="b" value="6">
    <input type=radio name="b" value="6" checked>
    <input type=checkbox name="c" value="4" checked><select name="d">
    <option value="1">1</option>
    <option value="2" selected>2</option>
    <option value="3">3</option>
    </select>
    <select name="f">
    <option value="1">1</option>
    <option value="2" selected>2</option>
    <option value="3">3</option>
    </select>
    </form><input type="button" onclick="isChangeForm(myform)" value="Check"/><script>
    function isChangeForm(f){
      var e = f.elements;
       var isChange = false;
      
       for(var i=0; i<e.length; i++)
    {
       // alert(e[i].type);
          if (e[i].type=="text" && e[i].defaultValue!=e[i].value)
    {   
        isChange = true;
    break;
     }   
      if (e[i].type=="checkbox" && e[i].defaultChecked!=e[i].checked)
    {   
        isChange = true;
    break;
     }
      if (e[i].type=="radio" && e[i].defaultChecked!=e[i].checked)
    {   
        isChange = true;
    break;
     }
     if (e[i].type=="select-one" && !(e[i].options[e[i].selectedIndex].defaultSelected))
    {   
     //isChange=!(e[i].options[e[i].selectedIndex].defaultSelected);
    isChange = true;
    break;
     }
     if (e[i].type=="select-multiple")
    {   for(var xx=0;xx<e[i].options.length;xx++)

           // alert(e[i].options[xx].defaultSelected);
    //alert(e[i].options[xx].selected);
     if(e[i].options[xx].defaultSelected!=e[i].options[xx].selected)
    { isChange = true;
             break;}
    }
    }
    }  if(!isChange)
    {  alert("没改!");
           return false;
    }
    }</script>