我想将“孩子”(我不知道正确的术语)函数的返回值传递给父函数中的返回...这样做的正确方法是什么? 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
答案 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);
}
};
}