JQuery将函数从函数传递给其他JQuery函数

时间:2015-05-09 13:34:49

标签: javascript jquery error-handling

我有一些错误处理函数,我希望返回错误数量,以便我可以在另一个函数内处理。然而,它没有按预期工作。有人有什么想法吗?

function validateForm() {
        // error handling
        var errorCounter = 0;

        $(".required").each(function(i, obj) {

            if($(this).val() === ''){
                $(this).parent().addClass("has-error");
                return errorCounter++;
            } else {
                $(this).parent().removeClass("has-error");
                return errorCounter;
            }

        });
    }

其他功能:

function actionCreateInvoice(){

        validateForm(errorCounter);

        if (errorCounter > 0) {
            $("#response").removeClass("alert-success").addClass("alert-warning").fadeIn();
            $("#response .message").html("<strong>Error</strong>: It appear's you have forgotten to complete something!");
        } else {
            ..... do something here once validated
}

1 个答案:

答案 0 :(得分:0)

将此return errorCounter;放在.each之外。

function validateForm() {
    // error handling
    var errorCounter = 0;

    $(".required").each(function(i, obj) {

        if($(this).val() === ''){
            $(this).parent().addClass("has-error");
            errorCounter++;
        } else{ 
            $(this).parent().removeClass("has-error"); 
        }


    });

    return errorCounter;
}

按照以下方式调用您的函数:

function actionCreateInvoice(){
     var errorCounter = validateForm();//do not pass errorCounter as parameter