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实现的动态文字变换
Jul 28 Javascript
select组合框option的捕捉实例代码
Sep 30 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
open 动态修改img的onclick事件示例代码
Nov 13 Javascript
SuperSlide2实现图片滚动特效
Jun 20 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
javascript+HTML5 canvas绘制时钟功能示例
May 15 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
Python实时获取cmd的输出
2015/12/13 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python中super函数用法实例分析
2019/03/18 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
深入了解python列表(LIST)
2020/06/08 Python
Python如何读写字节数据
2020/08/05 Python
python中的测试框架
2020/11/13 Python
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
啤酒销售实习自我鉴定
2013/09/24 职场文书
新员工培训个人的自我评价
2013/10/09 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
促销活动总结模板
2014/07/01 职场文书
2014年环卫工作总结
2014/11/22 职场文书
升职自荐信怎么写
2015/03/05 职场文书
大学生党课心得体会
2016/01/07 职场文书