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 相关文章推荐
获取DOM对象的几种扩展及简写
Oct 09 Javascript
用jquery实现下拉菜单效果的代码
Jul 25 Javascript
DWR实现模拟Google搜索效果实现原理及代码
Jan 30 Javascript
javascript生成随机数的方法
May 16 Javascript
实例分析javascript中的call()和apply()方法
Nov 28 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
jQuery获取单击节点对象的方法
Jun 02 Javascript
jQuery实现的简单动态添加、删除表格功能示例
Sep 21 jQuery
Angular实现预加载延迟模块的示例
Oct 12 Javascript
浅谈React前后端同构防止重复渲染
Jan 05 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 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循环输出数据库内容的代码
2008/05/24 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
Array对象方法参考
2006/10/03 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
Python最基本的输入输出详解
2015/04/25 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python之str操作方法(详解)
2017/06/19 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
python实现飞机大战微信小游戏
2020/03/21 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
解决python 文本过滤和清理问题
2019/08/28 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
监理资料员岗位职责
2014/01/03 职场文书
学校标语大全
2014/06/19 职场文书
北京故宫导游词
2015/01/31 职场文书
个人工作保证书
2015/02/28 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
mysql函数全面总结
2021/11/11 MySQL
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
python中filter,map,reduce的作用
2022/06/10 Python