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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
基于jQuery中对数组进行操作的方法
Apr 16 Javascript
JS hashMap实例详解
May 26 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
浅谈vue.js导入css库(elementUi)的方法
Mar 09 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
Vue实现按钮旋转和移动位置的实例代码
Aug 09 Javascript
如何让微信小程序页面之间的通信不再变困难
Jun 03 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 反向排序和随机排序代码
2010/06/30 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
python对常见数据类型的遍历解析
2019/08/27 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Pycharm中如何关掉python console
2020/10/27 Python
python 模拟登录B站的示例代码
2020/12/15 Python
Python学习之time模块的基本使用
2021/01/17 Python
英国复古服装购物网站:Collectif
2019/10/30 全球购物
自主招生自荐信格式
2013/12/03 职场文书
教师节演讲稿
2014/05/06 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers