首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急textbox失去焦点的时候验证账号是否存在?该如何解决

2013-10-21 
急!!textbox失去焦点的时候验证账号是否存在?我做一个注册页面,用js验证了用户输入,但是我想在输入账号的

急!!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; 
                }
            }
            else
            {


               uNameMs.innerHTML="<img class='check_img' src='images/no.jpg' alt='' />&nbsp;用户名长度必须在5-16之间";
               return false; 
            }
        }
        else
        {
            uNameMs.innerHTML="<img class='check_img' src='images/no.jpg' alt='' />&nbsp;用户名不能为空";
            return false;
        }
        }


[解决办法]


var xmlHttp;
function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
}

function checkEmail(){
           createXMLHttpRequest();
            var email = document.getElementById("txtEmail").value;
            url = "Handler/EmailExists.ashx?email=" + email + "&t=" + (new Date()).getTime();
            xmlHttp.open("GET", encodeURI(url), true);
            xmlHttp.onreadystatechange = function () {
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                    var returnText = xmlHttp.responseText;
                    if (returnText == "have") {
                        //存在
                    }
                    else {
                        //不存在
                    }
                }
            }
            xmlHttp.send(null);
}

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


引用:
这个是ajax专门干的事情了。


+1

热点排行