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 相关文章推荐
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
js遍历td tr等html元素
Dec 13 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
TypeScript具有的几个不同特质
Apr 07 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
利用require.js与angular搭建spa应用的方法实例
Jul 19 Javascript
原生js实现随机点名功能
Nov 05 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
Nov 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
长波知识介绍
2021/03/01 无线电
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
把input初始值不写value的具体实现方法
2013/07/04 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
学习张林森心得体会
2014/09/10 职场文书
出生医学证明书
2014/09/15 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
幼儿园个人总结
2015/02/28 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android
《废话连篇——致新手》——chinapizza
2022/04/05 无线电