日期:2014-05-16  浏览次数:20922 次

jquery验证返回值怎么是undefined
function checkemail() {
var name = $("#regEmail").val(); 
 var str;
    $.get("../reg.ashx?bigtype=email&email=" + name,
                 function(data) {  //返回值data没有问题,就是no和ok
                     if (data == "no") {
                         $("#txtemail").addClass("prompt-error");
                         $("#txtemail").html("<i></i>电子邮箱已经被注册");
                         str = false;

                     }
                     if (data == "ok") {
                         $("#txtemail").addClass("prompt-ok");
                         $("#txtemail").html("<i></i>");
                         str = true;
                     }  //class和html()都是对的
                 });
    return str; //就是这个return出问题了。。
}
alert(checkemail());永远是undefined,晕倒了


------解决方案--------------------

function checkemail() {
var name = $("#regEmail").val(); 
 var str;
    $.ajax({
        async: false,
        url: '../reg.ashx?bigtype=email&email='+name,
        success: function(data){
//这里的赋值在外面是得不到的。
             if (data == "no") {
                 $("#txtemail").addClass("prompt-error");
                 $("#txtemail").html("<i></i>电子邮箱已经被注册");
                 str = false;
 
             }
             if (data == "ok") {
                 $("