3
回答
js作用域的一点小问题
华为云4核8G,高性能云服务器,免费试用   

  var flag=true;
   function checkFormUtilFunction(errorMsgSpan,inputId,errorMsg,reg){
    document.getElementById(errorMsgSpan).innerHTML="";
    var username = document.getElementById(inputId).value;
    if(!reg.test(username)){
     document.getElementById(errorMsgSpan).innerHTML=errorMsg;
    }else{
     //要去服务器验证是否已经存在了
     if(inputId=="username"){
          var xhr=getXhr();
                                //与服务器进行连接 方式:get
                               xhr.open("get","checkUserName?username="+username);
                               //回调函数 readyState每次改变都会调用该函数
                               xhr.onreadystatechange= function(){
                                         if(xhr.readyState==4&&xhr.status == 200){
                                                if(xhr.responseText!=""){
                                                  document.getElementById("userNameErrorMsg").innerHTML=xhr.responseText;
                                                   flag=false;
                                                   alert(flag);
                                                }
                                          }
                               }
                           xhr.send(null); 
     }
     alert(flag);
     //假如  已经存在的话 给个 对勾图片
     if(flag){
       var image = new Image();
                image.src="img/success.png";
             document.getElementById(errorMsgSpan).appendChild(image);
              }
     }
    
   }

ajax返回数据了  flag=false  为什么第二个alert(falg) 还是true的

 

 

<无标签>
举报
kong_resty
发帖于6年前 3回/160阅
顶部