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

急!!textbox失去焦点的时候验证账号是否存在?
我做一个注册页面,用js验证了用户输入,但是我想在输入账号的文本框失去焦点的时候,就验证账号是否存在,在js中调用的后台方法,但是不行啊!
先看代码嘛!
CheckUserName()是后台的一个方法,从数据库中查是否存账号,返回字符串,0和1,  0代表不存在,1代表存在!
我知道var uResult =e="<%=CheckUserName()%>";
这样的方法是在页面加载时就运行了后台的方法,所以请教大家有没有更好的办法,ajax我不怎么会!

function CheckUserName(){
        var uName = document.getElementById('<%=txtUserName.ClientID%>').value;
        var uNameMs = document.getElementById('<%=uNameMessage.ClientID%>');
        var uResult =e="<%=CheckUserName()%>";
        if(uName!="")
        {
            if(uName.length>=5&&uName.length<=16)
            {
                if(!(/>|<|,|\[|\]|\{|\}|\?|\/|\+|=|\||\'|\\|\"|:|;|\~|\!|\#|\*|\$|\@|\_|\-|\%|\^|\&|\(|\)|`/i).test(uName))
                {
                    if(uResult=="0")
                    {
                        uNameMs.innerHTML="<img class='check_img' src='images/yes.jpg' alt='' />";
                        return true; 
                    }
                    else
                    {
                        uNameMs.innerHTML="<img class='check_img' src='images/yes.jpg' alt='' />&nbsp;账号已存在";
                        return false; 
                    }
                }
                else
                {
                    uNameMs.innerHTML="<img class='check_img' src='images/no.jpg' alt='' />&nbsp;用户名不能包含特殊字符";
                    return false; 
                }
            }