一段JS反回值的代码,大家来帮忙看看哈.
nhr 2010-05-31 06:23:18 function get_ajax(emailid)
{
var mail = document.getElementById(emailid).value;
if(!mail)
{
return false;
}
var xmlHttp=CreateXMLHttpRequest();
var url = "mc/reg/checkmail.asp?email="+EncodeUtf8(mail);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
var message = xmlHttp.responseText;
if(message)
{
if(message != "ok")
{
if(!message)
{
message = "Error: Account Failed.";
}
//指定邮箱地址不正确
var email_status = "user_mail-status";
var email_2 = "user_mail_address";
var fnm = document.getElementById(email_2);
var fn_status = document.getElementById(email_status);
fnm.className = "create_error";
fn_status.innerHTML = totobay_wrong_text("exists",true);
return false;
}
else{
return true;
//这里已经正确返回
}
}
else
{
alert("Please refresh later!");
}
}
}
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);
}
以后这段代码我测试了已经返回TRUE,可是下面调用的时候怎么好像没返回东东.不知道哪里出错.
function user_mail_chk(email_2,email_status)
{
if(!email_2 || email_2 == "undefined")
{
email_2 = "user_mail";
}
if(!email_status || email_status == "undefined")
{
email_status = "user_mail-status";
}
var fnm = document.getElementById(email_2);
var fn_status = document.getElementById(email_status);
var email = fnm.value;
if(!email)
{
fnm.className = "create_error";
fn_status.innerHTML = totobay_wrong_text('email_address',true);
return false;
}
else
{
//检测邮箱格式是否准确
if(email.search(/^\w+((-\w+)|(\.\w+))*\@\w+((-\w+)|(\.\w+))*\.\w+$/) != -1)
{
fnm.className = "create_ok";
fn_status.innerHTML="<image src='templets/css/images/loading_img_s.gif' width='50' height='50' border='0' align='absmiddle'>";
var status=get_ajax(email_2);
if (status){ fn_status.innerHTML = totobay_right();return status;} //这里返回的status是undefined,麻烦大家帮看下是哪里出错了?
} else
{ //alert("no");
fnm.className = "create_error";
fn_status.innerHTML = totobay_wrong_text('email_address',true);
return false;
}
}
}