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 相关文章推荐
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
js实现的星星评分功能函数
Dec 09 Javascript
基于jQuery的ajax方法封装
Jul 14 Javascript
自动化测试读写64位操作系统的注册表
Aug 15 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
vue中如何使用ztree
Feb 06 Javascript
vue注册组件的几种方式总结
Mar 08 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
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
深入Nginx + PHP 缓存详解
2013/07/11 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
win10系统中安装scrapy-1.1
2016/07/03 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
卫生标语大全
2014/06/21 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
单身证明范本
2015/06/15 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android