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 相关文章推荐
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
文本框只能选择数据到文本框禁止手动输入
Nov 22 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
教你使用vue-cli快速构建的小说阅读器
May 13 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
vue element upload实现图片本地预览
Aug 20 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
解决vue组件销毁之后计时器继续执行的问题
Jul 21 Javascript
浅谈JavaScript作用域
Dec 06 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
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
javascript this用法小结
2008/12/19 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
中学生校园广播稿
2014/01/16 职场文书
六查六看自查材料
2014/02/17 职场文书
党员承诺书怎么写
2014/05/20 职场文书
集中采购方案
2014/06/10 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
机器人总动员观后感
2015/06/09 职场文书
高中班主任培训心得体会
2016/01/07 职场文书