javascript检查表单数据是否改变的方法


Posted in Javascript onJuly 30, 2013

有的时候,需要检查用户是否修改了一个表单中的内容,则可以使用下面的技巧,其中如果修改了表单的内容则返回true,没修改表单的内容则返回false。代码如下:

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"])) { 
if (e) { 
e.returnValue = "You have unsaved changes."; 
} 
return "You have unsaved changes."; 
} 
};
Javascript 相关文章推荐
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
详解JavaScript函数绑定
Aug 18 Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
基于D3.js实现时钟效果
Jul 17 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
vue分页插件的使用方法
Dec 25 Javascript
JS 对输入框进行限制(常用的都有)
Jul 30 #Javascript
JS无限极树形菜单,json格式、数组格式通用示例
Jul 30 #Javascript
js中widow.open()方法使用详解
Jul 30 #Javascript
Extjs NumberField后面加单位实现思路
Jul 30 #Javascript
Js中获取frames中的元素示例代码
Jul 30 #Javascript
js中的屏蔽的使用示例
Jul 30 #Javascript
使用js正则控制input标签只允许输入的值
Jul 29 #Javascript
You might like
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
php定界符
2014/06/19 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
JavaScript中Function详解
2015/02/27 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
python实现文件的分割与合并
2019/08/29 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
Python 字典中的所有方法及用法
2020/06/10 Python
如何把python项目部署到linux服务器
2020/08/26 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
成人大专生实习期的自我评价
2013/10/02 职场文书
就业推荐自我鉴定
2013/10/06 职场文书
劳动之星获奖感言
2014/02/01 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
结婚仪式主持词
2015/06/29 职场文书
防震减灾主题班会
2015/08/14 职场文书