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 相关文章推荐
编写自己的jQuery插件简单实现代码
Apr 19 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
May 27 Javascript
jQuery prev ~ siblings选择器使用介绍
Aug 09 Javascript
javascript使用smipleChart实现简单图表
Jan 02 Javascript
jquery事件preventDefault()方法用法实例
Jan 16 Javascript
JavaScript声明变量名的语法规则
Jul 10 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 Javascript
js实现转动骰子模型
Oct 24 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 读取输出其他文件的实现方法
2016/07/26 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
简述vue中的config配置
2018/01/23 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
python遍历数组的方法小结
2015/04/30 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
Python分类测试代码实例汇总
2020/07/23 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
数字漫画:comiXology
2020/06/13 全球购物
学术会议欢迎词
2014/01/09 职场文书
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
大学生操行评语大全
2014/12/31 职场文书
答谢词范文
2015/01/05 职场文书
项目验收申请报告
2015/05/15 职场文书
工作证明书
2015/06/15 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书