function checkEmail() {
$("#EmailInfo").innerHTML='';
var textEmail=document.getElementById('textEmail');
if(isValidEmailAddress(textEmail.value)) {
var url ="/ajax.php";
var params = 'op=checkemail&'+'email=' +textEmail.value;
$("#EmailInfo").innerHTML='<image src="/resource/js/loading.gif">';
$.ajax({
type:"get";
dataType:"json";
url:"/ajax.php";
success:function(result){
if(result){reutrn true;}
reutrn false;
}
});
}
}

function checkTextEmail(){
var textEmail=document.getElementById('textEmail');
if(isValidEmailAddress(textEmail.value)){
if(checkEmail()){
alter('未注册');
}else{
alter('已注册');
}
}else{
if(){

}else{

}
}
}

解决方案 »

  1.   


    /*
    * 将checkTextEmail方法作为回调函数使用
    */
        function checkEmail(fn) {
    $("#EmailInfo").innerHTML='';
    var textEmail=document.getElementById('textEmail');
    if(isValidEmailAddress(textEmail.value)) {
    var url ="/ajax.php";
    var params = 'op=checkemail&'+'email=' +textEmail.value;
    $("#EmailInfo").innerHTML='<image src="/resource/js/loading.gif">';
    $.ajax({
    type:"get";
    dataType:"json";
    url:"/ajax.php";
    success:function(result){
    var res  = result ? true : false;
    if(fn) fn(res); // 此处会执行checkTextEmail方法
    }                        
    });
    }
    }

    /*
    * 将checkEmail方法异步请求的返回值作为参数传递给checkTextEmail方法, 再执行下面的操作、
    */
    function checkTextEmail(res){
    var textEmail=document.getElementById('textEmail');
    if(isValidEmailAddress(textEmail.value)){
    if(res){
    alter('未注册');
    }else{
    alter('已注册');
    }
    }
    else{
    if(){

    }else{

    }
    }
    }

    // 调用checkEmail方法, checkTextEmail为回调函数。
    checkEmail(checkTextEmail);
      

  2.   

    你使用了jQuery,首先清空内容应该使用$('#EmailInfo').html(''),你使用innerHTML是DOM对象的属性,jQuery对象没有的。至于返回值,success:function(result){...}的逻辑是提供者。
      

  3.   

    jQuery对现货和DOM对象是不一样的,当然二者之间可以先呼呼转换