0

我想将“子”(我不知道正确的术语)函数的返回值传递给父函数中的返回值......正确的方法是如何做到这一点?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;
        }
    };
}

谢谢

4

1 回答 1

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);
        }
    };
}
于 2013-04-06T21:59:40.730 回答