簡體   English   中英

如何使用參數運行函數

[英]how to run a function with parameters

我有一個僅驗證表單(適用於舊瀏覽器)的函數。 該函數工作正常,只是每次調用此函數時都必須傳遞參數,而實際上我已經在'config'中指定了默認參數。

因此,按邏輯,如果我將函數調用為: validateMe(); 它應作為validateMe({requiredClass: '.required', verifiedClass: 'invalid'});

但是不幸的是,不帶參數的函數調用無法正常工作(在我的情況下,表單觸發了Submit事件)(到達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();

現在您有了它的一個實例,因此您可以隨時定義它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM