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 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
JavaScript中的闭包原理分析
Mar 08 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
js实现的类似于asp数据字典的数据类型代码实例
Sep 03 Javascript
Javascript基础教程之比较操作符
Jan 18 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
Angularjs分页查询的实现
Feb 24 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
jQuery插件Validation表单验证详解
May 26 jQuery
TypeScript开发Node.js程序的方法
Apr 30 Javascript
javascript实现遮罩层动态效果实例
May 14 Javascript
解决vue-cli 打包后自定义动画未执行的问题
Nov 12 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
解析thinkphp中的导入文件标签
2013/06/20 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
对于Python中线程问题的简单讲解
2015/04/03 Python
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
Python实现计算最小编辑距离
2016/03/17 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
PyQt5实现简易计算器
2020/05/30 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
python实现网页录音效果
2020/10/26 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
班级班风口号大全
2015/12/25 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL