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 相关文章推荐
对YUI扩展的Gird组件 Part-1
Mar 10 Javascript
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 Javascript
图片加载完成再执行事件的实例
Nov 16 Javascript
小程序组件之自定义顶部导航实例
Jun 12 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
微信小程序实现搜索功能
Mar 10 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
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
二级域名转向类
2006/11/09 Javascript
Div Select挡住的解决办法
2008/08/07 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
vue实例的选项总结
2020/06/09 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
python清除字符串里非数字字符的方法
2015/07/02 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python如何对实例属性进行类型检查
2018/03/20 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Python 如何测试文件是否存在
2020/07/31 Python
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
一套C++笔试题面试题
2012/06/06 面试题
优秀医生事迹材料
2014/02/12 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
应届毕业生自荐书
2014/06/18 职场文书
爱护公共设施的标语
2014/06/24 职场文书
教师个人读书活动总结
2014/07/08 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python