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-Mozilla和IE中的一个函数直接量的问题分析
Aug 12 Javascript
jQuery AJAX 调用WebService实现代码
Mar 24 Javascript
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
使用jquery获取网页中图片高度的两种方法
Sep 26 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
如何编写一个d.ts文件的步骤详解
Apr 13 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
4个顶级开源JavaScript图表库
Sep 29 Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 Javascript
详解Vue Cli浏览器兼容性实践
Jun 08 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
JSON 学习之完全手册 图文
2007/05/29 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
node中实现删除目录的几种方法
2019/06/24 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
Python实现的ini文件操作类分享
2014/11/20 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python reduce()函数的用法小结
2017/11/15 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
应届毕业生求职信
2013/11/30 职场文书
计算机专业求职信
2014/06/02 职场文书
教师外出学习心得体会
2016/01/18 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL