jquery.form.js用法之清空form的方法

前端技术 2023/09/06 JavaScript

本段代码摘取自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 = \'\';
            }
        }
    });
};

本文地址:https://www.stayed.cn/item/16575

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。