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 可以拖动的DIV(二)
Jun 26 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
jquery使用animate方法实现控制元素移动
Mar 27 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
jQuery Easyui实现左右布局
Jan 26 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
Bootstrap轮播插件简单使用方法介绍
Jun 21 Javascript
js实现简单的二级联动效果
Mar 09 Javascript
基于node+vue实现简单的WebSocket聊天功能
Feb 01 Javascript
微信小程序canvas实现签名功能
Jan 19 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
python学生管理系统学习笔记
2019/03/19 Python
python生成随机红包的实例写法
2019/09/02 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
九年级体育教学反思
2014/01/23 职场文书
遗嘱继承公证书
2014/04/09 职场文书
股东合作协议书
2014/04/14 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
诚实守信主题班会
2015/08/13 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL