日期:2014-05-17  浏览次数:20743 次

重名检测问题,求专业人士帮帮忙啊!!
我的代码是这样的
$.post( "check.action?student.studentname= "+cName,{},function(data){
var   noMsg= '用户名被占用 ';
$parent.append( " <span   id= 'formtips '   class= 'onSuccess '> "+noMsg+ " </span ");
}, "json ")

if(this.value== " "||this.value.length <3){
var   errorMsg= '请输入至少三位的用户名. ';
$parent.append( " <span   id= 'formtips '   class= 'onError '> "+errorMsg+ " </span> ");
}

else{
                var   okMsg= '输入正确. ';
$parent.append( " <span   id= 'formtips '   class= 'onSuccess '> "+okMsg+ " </span ");
}
我想如果post提交回来了,就不执行if和else了,如果post提交没返回来就执行if和else,
我该怎么改着几段代码呢,谢谢帮帮忙啊!!

------解决方案--------------------
加了一个标记变量var flag = true;
JScript code

var flag = true;//标记post是否有返回,没有为true,有返回为false
$.post( "check.action?student.studentname= "+cName,{},function(data){ 
flag = false;//有返回时为false
var   noMsg= '用户名被占用 '; 
$parent.append( " <span   id= 'formtips '   class= 'onSuccess '> "+noMsg+ " </span "); 
}, "json ") 
if(flag){//如果为true时才执行
   if(this.value== " "||this.value.length <3){ 
      var errorMsg= '请输入至少三位的用户名. '; 
      $parent.append("<span id= 'formtips' class='onError'> "+errorMsg+ "</span>"); 
   }else{ 
      var okMsg= '输入正确. '; 
      $parent.append("<span id='formtips' class='onSuccess'>"+okMsg+ "</span>"); 
   }
}

------解决方案--------------------
接分。把if else 修改,然后写到回调函数里面去