您的位置:首页 > Web前端 > javascript > 正文

检查表单数据是否改变

更多 时间:2015-1-11 类别:Web前端 浏览量:181

检查表单数据是否改变

检查表单数据是否改变

下面介绍一种检查表单数据是否改变的方法,如果修改了表单的内容则返回true,没修改则返回false

 

  • JScript 代码   复制
  • 
    function formIsDirty(form) {
    
      for (var i = 0; i < form.elements.length; i++) {
    
        var element = form.elements[i];
    
        var type = element.type;
    
        if (type == "checkbox" || type == "radio") {
    
          if (element.checked != element.defaultChecked) {
    
            return true;
    
          }
    
        }
    
        else if (type == "hidden" || type == "password" ||
    
                 type == "text" || type == "textarea") {
    
          if (element.value != element.defaultValue) {
    
            return true;
    
          }
    
        }
    
        else if (type == "select-one" || type == "select-multiple") {
    
          for (var j = 0; j < element.options.length; j++) {
    
            if (element.options[j].selected !=
    
                element.options[j].defaultSelected) {
    
              return true;
    
            }
    
          }
    
        }
    
      }
    
      return false;
    
    }
    
     
    
    window.onbeforeunload = function(e) {
    
      e = e || window.event;  
    
      if (formIsDirty(document.forms["someForm"])) {
    
        // IE 和 Firefox
    
        if (e) {
    
          e.returnValue = "You have unsaved changes.";
    
        }
    
        // Safari 浏览器
    
        return "You have unsaved changes.";
    
      }
    
    };
    
    		
  •  

     

    标签:Form表单