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中使用data()方法读取HTML5自定义属性data-*实例
Apr 11 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
Jquery实现鼠标移动放大图片功能实例
Mar 25 Javascript
jQuery多级联动下拉插件chained用法示例
Aug 20 Javascript
js 博客内容进度插件详解
Feb 19 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
Vue中添加手机验证码组件功能操作方法
Dec 07 Javascript
vue项目打包上传github并制作预览链接(pages)
Apr 19 Javascript
ElementUI radio组件选中小改造
Aug 12 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
Sep 21 Javascript
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
Javascript之String对象详解
2016/06/08 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
kali中python版本的切换方法
2019/07/11 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
浅析Python 责任链设计模式
2020/09/11 Python
介绍下Java的输入输出流
2014/01/22 面试题
一套比较完整的软件测试人员面试题
2012/05/13 面试题
商务英语专业求职信范文
2014/01/28 职场文书
员工晚婚的请假条
2014/02/08 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
怒海潜将观后感
2015/06/11 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Python实现抖音热搜定时爬取功能
2022/03/16 Python
MySQL事务的隔离级别详情
2022/07/15 MySQL