javascript子函数传递返回父函数返回

时间:2013-04-06 21:56:55

标签: javascript jquery ajax function callback

我想将“孩子”(我不知道正确的术语)函数的返回值传递给父函数中的返回...这样做的正确方法是什么? check_data()没有返回true或false

function check_data(type,field){
    var chkvalue = $(field).val();
    $.post("mods/ajax.fieldchk.php", {
        chkvalue: chkvalue,
        type: type
    },
    function(result){
        if(result==0){
            $(field).css({'background-color': '#faa', 'border': '1px solid #f00'});
            return false;
        }else if(result==1){
            $(field).css({'background-color': '#afa', 'border': '1px solid #0f0'});
            return true;
        }
    };
}

日Thnx

1 个答案:

答案 0 :(得分:3)

由于$.post是异步函数,因此无法使用它在check_data上返回数据。但是,您可以传递一些回调并使用true/false参数执行。

这样的事情:

function check_data(type,field,callback){
    var chkvalue = $(field).val();
    $.post("mods/ajax.fieldchk.php", {
        chkvalue: chkvalue,
        type: type
    },
    function(result){
        if(result==0){
            $(field).css({'background-color': '#faa', 'border': '1px solid #f00'});
            callback(true);
        }else if(result==1){
            $(field).css({'background-color': '#afa', 'border': '1px solid #0f0'});
            callback(false);
        }
    };
}