需求:
页面有若干控件,如果编辑了却没有保存,跳转其他页面时会提示是否需要保存。问题:
如何获得页面是否编辑的状态?现在的解决方法:
页面置隐藏域,记录初始状态:0-未编辑。
设置txt框的onpropertychange事件,如果change,隐藏域状态置为1-已编辑。
页面跳转时检测隐藏域的值。疑问:
有没有什么更智能的方法,来获取txt框的状态?
比如,JQuery,或者浏览器有什么接口/字段可以使用?请大侠们帮忙,谢谢。

解决方案 »

  1.   

    一般就是根据change事件来判断的。 我们做的表单就是这样判断的。
      

  2.   

    var Flag = false; function checkFromIsModified(objID)    
     { 
      Flag = false;  if(document.getElementById(objID) == undefined || document.getElementById(objID) == null)
      {
       return false;
      }  var clInput = document.getElementById(objID).all.tags("input");         
      var clArea  = document.getElementById(objID).all.tags("textarea");
      var clSelect= document.getElementById(objID).all.tags("select");
      for (i=0;i<clInput.length;i++)        
      { 
       if (Flag ==true)                   
        break;                            
       
       switch (clInput.item(i).type)                
       {                      
        case "text" : 
         if (clInput.item(i).value != clInput.item(i).defaultValue)                        
         {                
          Flag = true;                                
          break;                           
         }                          
        case "radio" :                           
         if (clInput.item(i).checked != clInput.item(i).defaultChecked)                       
         {                                
          Flag = true;                                
          break;
         }                     
        case "checkbox" :                           
         if (clInput.item(i).checked != clInput.item(i).defaultChecked)
         { 
          Flag = true;                                 
          break;                            
         }                  
       }         
      }                 
      
      for (i=0;i<clArea.length;i++)        
      {              
       if (Flag ==true)                   
        break;                              
         
       if (clArea.item(i).value != clArea.item(i).defaultValue)            
       {                    
        Flag = true;                    
        break;               
       }         
      }   for (i=0;i<clSelect.length;i++)        
      {              
       if (Flag ==true)                   
        break;
      
       if (clSelect[i].defaultValue != clSelect[i].options[clSelect[i].selectedIndex].value)            
       {                    
        Flag = true;                    
        break;               
       }         
      } 
      
      return Flag;
     }
     
     function on_load()    
     {
      for(i=0;i<document.all.tags("select").length;i++)        
      {    
       var select = document.all.tags("select").item(i); //这里需要加上一个判断,就是只有select 没有里面的item
       if(select.length != 0 && select.defaultValue == undefined)
        select.defaultValue = select.options[select.selectedIndex].value;  
      }    
     } window.onload=on_load
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaohutushen/archive/2006/09/13/1217132.aspx