javascript检查表单数据是否改变

Posted 日光下的曼雪-正版

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript检查表单数据是否改变相关的知识,希望对你有一定的参考价值。

 
有的时候,需要检查用户是否修改了一个表单中的内容,则可以使用下面的技巧,其中如果修改了表单的内容则返回true,没修改表单的内容则返回false。代码如下:
  1. function formIsDirty(form) {  
  2.     for (var i = 0; i < form.elements.length; i++) {  
  3.         var element = form.elements[i];  
  4.         var type = element.type;  
  5.         if (type == "checkbox" || type == "radio") {  
  6.             if (element.checked != element.defaultChecked) {  
  7.                 return true;  
  8.             }  
  9.         }  
  10.          else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") {  
  11.             if (element.value != element.defaultValue) {  
  12.                 return true;  
  13.             }  
  14.         }  
  15.          else if (type == "select-one" || type == "select-multiple") {  
  16.             for (var j = 0; j < element.options.length; j++) {  
  17.                 if (element.options[j].selected != element.options[j].defaultSelected) {  
  18.                     return true;  
  19.                 }  
  20.             }  
  21.         }  
  22.     }  
  23.     return false;  
  24. }  
  25. window.onbeforeunload = function(e) {  
  26.     e = e || window.event;  
  27.     if (formIsDirty(document.forms["someForm"])) {  
  28.         if (e) {  
  29.             e.returnValue = "You have unsaved changes.";  
  30.         }  
  31.         return "You have unsaved changes.";  
  32.     }  
  33. };  

以上是关于javascript检查表单数据是否改变的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 多步骤表单进行联系表单验证

如何正确检查所有表单元素是不是都用 JavaScript 填充

JavaScript表单验证是否为中文

是否有 JavaScript MVC(微)框架? [关闭]

javascript 表单提交传值 紧急

概念简介Javas cript简介