jquery.form.js用法之清空form的方法


Posted in Javascript onMarch 07, 2014

本段代码摘取自jquery.form.js中,由于觉得该方法的使用性非常强,同时也可独立拿出来使用。
该段代码言简意赅可以很好的作为学习参考。

/**
 * Clears the form data. Takes the following actions on the form's input fields:
 * - input text fields will have their 'value' property set to the empty string
 * - select elements will have their 'selectedIndex' property set to -1
 * - checkbox and radio inputs will have their 'checked' property set to false
 * - inputs of type submit, button, reset, and hidden will *not* be effected
 * - button elements will *not* be effected
 */
$.fn.clearForm = function(includeHidden) {
    return this.each(function() {
        $('input,select,textarea', this).clearFields(includeHidden);   //this表示设置上下文环境,有多个表单时只作用调用的表单
    });
};
$.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
    var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
    return this.each(function() {
        var t = this.type, tag = this.tagName.toLowerCase();
        if (re.test(t) || tag == 'textarea') {
            this.value = '';
        }
        else if (t == 'checkbox' || t == 'radio') {
            this.checked = false;
        }
        else if (tag == 'select') {
            this.selectedIndex = -1;
        } 
        else if (t == "file") {
            if (/MSIE/.test(navigator.userAgent)) {
                 $(this).replaceWith($(this).clone(true));
            } else {
                 $(this).val('');
            }
       }
        else if (includeHidden) {
            // includeHidden can be the value true, or it can be a selector string
            // indicating a special test; for example:
            // $('#myForm').clearForm('.special:hidden')
            // the above would clean hidden inputs that have the class of 'special'
            if ( (includeHidden === true && /hidden/.test(t)) ||
                 (typeof includeHidden == 'string' && $(this).is(includeHidden)) ) {
                this.value = '';
            }
        }
    });
};
Javascript 相关文章推荐
javascript之可拖动的iframe效果代码
Aug 01 Javascript
javascript IFrame 强制刷新代码
Jul 23 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
Aug 27 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
关于定制FileField中的上传文件名称问题
Aug 22 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 Javascript
详解js访问对象的属性和方法
Oct 25 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
JavaScript 闭包的使用场景
Sep 17 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 #Javascript
jquery 实现两级导航菜单附效果图
Mar 07 #Javascript
document.addEventListener使用介绍
Mar 07 #Javascript
开发中可能会用到的jQuery小技巧
Mar 07 #Javascript
javascript匿名函数应用示例介绍
Mar 07 #Javascript
js登录弹出层特效
Mar 07 #Javascript
JavaScript通过正则表达式实现表单验证电话号码
Mar 07 #Javascript
You might like
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP echo()函数讲解
2019/02/15 PHP
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
js闭包用法实例详解
2016/12/13 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
简述JS控制台的使用
2018/07/15 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
ionic2.0双击返回键退出应用
2019/09/17 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
python numpy存取文件的方式
2020/04/01 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
numpy实现RNN原理实现
2021/03/02 Python
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
蔻驰法国官网:COACH法国
2018/11/14 全球购物
关于圣诞节的广播稿
2014/01/26 职场文书
法人委托书范本格式
2014/09/15 职场文书
管理失职检讨书
2015/05/05 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
Docker下安装Oracle19c
2022/04/13 Servers