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

菜鸟验证问题,拜托了大神们。
function validateName(){
$.get(
url,function(msg){
if(msg!=1){
if(name.val().length < 4){
name.addClass("error");
nameInfo.text("请输入3个字节以上的用户名");
nameInfo.addClass("error");
return false;
}
//if it's valid
else{
name.removeClass("error");
nameInfo.text("用户名正确");
nameInfo.removeClass("error");
return true;
}
}else{
name.addClass("error");
nameInfo.text("用户名已存在");
nameInfo.addClass("error");
return false;
}
}
)
}

------------------------------------------------------------
这样写可以?
我想得到的结果是,用户名大于3,且用Ajax检验要唯一。

------解决方案--------------------
长度检测没通过,就不用进入ajax验证唯一性呀

ajax异步执行的话,你的return没有意义了,起不了作用

你ajax中要执行验证的部份应该是在后台程序中或者是数据库里面。已经存在的就不添加就是了

要么你将ajax改为同步[async:false]。要么将长度检测单独出来,然后唯一性检测完全交给后台,在添加入库时在数据中进行判断。前台想要做个唯一性检测的话,你可以绑定在这个输入框的onblur事件中,但即便是这样,你后台或数据库中的那一步判断仍然是必不可少的。你只是在前台可以尽可能的得到一个友好点的提示而已。