如何使用参数运行函数

how to run a function with parameters

本文关键字:函数 运行 参数 何使用      更新时间:2023-09-26

我有一个简单验证表单的函数(适用于旧浏览器)。这个函数运行得很好,只是每次调用这个函数时都必须传递参数,事实上我已经在"config"中指定了默认参数。

因此,根据逻辑,如果我将函数调用为:validateMe();,它应该作为validateMe({requiredClass: '.required', verifiedClass: 'invalid'}); 运行

但不幸的是,调用没有参数的函数不能正常工作(在我的情况下,表单触发提交事件)(它没有到达return false)。

那么,用默认设置运行函数的代码中缺少什么呢??

function validateMe(vform, settings) {
    var vform,      //form name or id
        config = {
            'requiredClass': '.required', 
            'verifiedClass': 'invalid'
        };
    if (settings) {
        $.extend(config, settings);
    }
    $(vform).on('submit', function(){
        var inputs =  $(this).find(config.requiredClass), 
            required = [];
        for (i=0; i < inputs.length; i++) {
            if (inputs[i] != null) {
                if ($(inputs[i]).val().replace(/^'s+|'s+$/g, '') == '') {
                    required.push($(inputs[i]).index());
                }
            }
        }
        if (required.length > 0) {
            $(this).find('input').removeClass(config.verifiedClass);
            for(n=0;n<required.length;n++) {
                $(inputs[n]).addClass(config.verifiedClass);
            }
            return false;   
        }
    });
}

有什么帮助吗?

谢谢。

function validateMe(vform, settings) {
this.vform = vform || 'default',
this.setting = 'whatever',
this.private = ''
}
var newInstance = new validateMe();

现在您有了它的一个实例,所以您可以在执行过程中定义它。