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 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 Javascript
网页整体变灰白色(兼容各浏览器)实例
Apr 21 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
Javascript数据结构与算法之列表详解
Mar 12 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
Angular简单验证功能示例
Dec 22 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
Vue 中可以定义组件模版的几种方式
Aug 06 Javascript
微信小程序实现图片压缩
Dec 03 Javascript
vue 组件间的通信之子组件向父组件传值的方式
Jul 29 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php-perl哈希算法实现(times33哈希算法)
2013/12/30 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
img的onload的另类用法
2008/01/10 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
python dict.get()和dict['key']的区别详解
2016/06/30 Python
浅析python协程相关概念
2018/01/20 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
python自动化发送邮件实例讲解
2021/01/04 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
高中综合实践活动总结
2014/07/07 职场文书
2014年学校工作总结
2014/11/20 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
三八妇女节慰问信
2015/02/14 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
Python学习之时间包使用教程详解
2022/03/21 Python