将每个text与一个hidden元素绑定
hidden值是text的初值
提交后,循环判断text值是否与hidden相等,相等则跳过,
否则则更新数据库

解决方案 »

  1.   

    一:设置defaultvalue
    二:设置隐藏表单保存原来值
      

  2.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JK:支持民族工业,尽量少买X货</title><script language=javascript >/**
    * This function is to check if a form (or a container of implements) has been changed.
    * JK 2004-01-05
    * formObj:the checked form
    * exceptObjName:the name of whitch need not be checked;
    * For example:isFormChangedFun(document.frm,"ACheckbox,BRadio,CSelect");
    */
    function isFormChanged(formObj,exceptObjName)
    {
    if(formObj==null) formObj=document.forms[0];
    if(exceptObjName==null) exceptObjName=="";
    var selectObjs=formObj.getElementsByTagName("SELECT");//For Select Obj
    for(var i=0;i<selectObjs.length;i++)
    {
    if((selectObjs[i].name=="")||(eval("/(^|,)"+selectObjs[i].name+"(,|$)/g").test(exceptObjName))) continue;
    for(var j=1;j<selectObjs[i].length;j++)
    {
    if(selectObjs[i].options[j].defaultSelected!=selectObjs[i].options[j].selected)
    return true;
    }
    }

    var inputObjs=formObj.getElementsByTagName("INPUT");//For Input Obj
    for(var i=0;i<inputObjs.length;i++)
    {
    if((inputObjs[i].name=="")||(eval("/(^|,)"+inputObjs[i].name+"(,|$)/g").test(exceptObjName))) continue;
    if((inputObjs[i].type.toUpperCase()=="TEXT")&&(inputObjs[i].defaultValue!=inputObjs[i].value))
    return true;

    else if(((inputObjs[i].type.toUpperCase()=="RADIO")||(inputObjs[i].type.toUpperCase()=="CHECKBOX"))
    &&(inputObjs[i].defaultChecked!=inputObjs[i].checked))
    return true;

    }

    var textareaObjs=formObj.getElementsByTagName("TEXTAREA");//For Textarea Obj
    for(var i=0;i<textareaObjs.length;i++)
    {
    if((textareaObjs[i].name=="")||(eval("/(^|,)"+textareaObjs[i].name+"(,|$)/g").test(exceptObjName))) continue;
    if(textareaObjs[i].defaultValue!=textareaObjs[i].value)
    return true;

    }
    return false;
    }</script>
    </head><body >
    <table>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(isFormChanged(this.parentElement.parentElement))"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(isFormChanged(this.parentElement.parentElement))"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(isFormChanged(this.parentElement.parentElement))"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    </table></body></html>
      

  3.   

    简单点的:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JK:支持民族工业,尽量少买X货</title></head><body >
    <table>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(this.parentElement.parentElement.all.aaa.value!=this.parentElement.parentElement.all.aaa.defaultValue)"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(this.parentElement.parentElement.all.aaa.value!=this.parentElement.parentElement.all.aaa.defaultValue)"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    <tr>
      <td>
        <input type=button value="isChanged?" onclick="alert(this.parentElement.parentElement.all.aaa.value!=this.parentElement.parentElement.all.aaa.defaultValue)"> 
      </td>
      <td><input name=aaa></td>
    </tr>
    </table></body></html>
      

  4.   

    没想到这么简单
    20分马上结,再问高手个问题,解决得了再加分如何做到客户来电,通过来电的号码 弹出客户的资料
    就是在客户端我们还需要安装哪些软硬件才能解决问题,比如modem,控件 等等