学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
发新话题
打印

无刷新检测用户名

无刷新检测用户名

功能为:当用户输入用户名,用户名的文本框失去焦点后就检测用户名是否重复,不用再点击一个按钮才能检测前台代码:
以下是引用片段:
这个是我在网上找的   我不知道怎吗用   哪位高手给注释一下    详细的
谢谢了



<script type="text/JavaScript" language="javascript">
        var XMLHttp = null;
        function CheckUser()
        {
            try
            {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(err1)
            {
                try
                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(err2)
                {
                    xmlHttp = new XMLHttpRequest();
                }
            }
            var Text1 = document.getElementById("Text1");
            var url = "chkuser.aspx?User=" + Text1.value;
            xmlHttp.open("GET",url,true);
            xmlHttp.onreadystatechange = OnHandler;
            xmlHttp.send(null);
        }
        function OnHandler()
        {
            if(xmlHttp.readyState == 4)
            {
                var isValid = xmlHttp.responseText;
                var exists = document.getElementById("exsits");
                exists.innerHTML = isValid.substring(0,4);
            }
        }
</script>
<input id="Text1" type="text"  /><label d="exsits"></label><br />
  然后建一个chkuser.aspx,其后台代码改为:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
    {
        string user = this.Request.QueryString["User"];
        if (UserExist(user))
        {
            Response.Write("存在");
        }
        else
        {
            Response.Write("不存在");
        }
    }
    private bool UserExist(string username)
    {
        ClassLib.Employee emp = new ClassLib.Employee();
        return emp.EmpNameExist(username);
    }

TOP

这个是用到了ajax技术……
script type="text/JavaScript" language="javascript">
        var XMLHttp = null;
        function CheckUser()
        {
         //根据不通个浏览器建立xmlhttprequest对象  
          try
            {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(err1)
            {
                try
                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(err2)
                {
                    xmlHttp = new XMLHttpRequest();
                }
            }
            var Text1 = document.getElementById("Text1");//找到Text1这个控件
            var url = "chkuser.aspx?User=" + Text1.value;//拼url路径
            xmlHttp.open("GET",url,true);//异步发送请求
           xmlHttp.onreadystatechange = OnHandler;//当请求状态发生变化时执行的函数注册
           xmlHttp.send(null);
        }
        function OnHandler()
        {
            if(xmlHttp.readyState == 4) //判断状态。4为请求完成
           {
               //接受返回参数,设置页面属性
               var isValid = xmlHttp.responseText;
                var exists = document.getElementById("exsits");
                exists.innerHTML = isValid.substring(0,4);
            }
        }
</script>
<input id="Text1" type="text"  /><label d="exsits"></label><br />
//下面的这个就不用解释了吧……
  然后建一个chkuser.aspx,其后台代码改为:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
    {
        string user = this.Request.QueryString["User"];
        if (UserExist(user))
        {
            Response.Write("存在");
        }
        else
        {
            Response.Write("不存在");
        }
    }
    private bool UserExist(string username)
    {
        ClassLib.Employee emp = new ClassLib.Employee();
        return emp.EmpNameExist(username);
    }
积霜累寒始成冰,唯独河冰冰中冰。

TOP

谢谢
.NET发烧友交流群  群一:5953354(满)群二:68096127群三:30217249群四:37023079
注:二、三、四群管理员正在招募中,希望大家多多支持!
drl_0602@hotmail.com    为了更好的交流互相加一下

TOP

高手

TOP

MSN    drl_0602@hotmail.com    为了更好的交流互相加一下
.NET发烧友交流群  群一:5953354(满)群二:68096127群三:30217249群四:37023079
注:二、三、四群管理员正在招募中,希望大家多多支持!
drl_0602@hotmail.com    为了更好的交流互相加一下

TOP

可以用另外一种发放 比较简单  在C#模块给你留言

TOP

回复 6# tomtory 的帖子

这段代码里有问题
Response.Write("存在");
你仔细检查下你responseText所得到的返回值,应该可以让你大吃两斤的。
建议加上两句,某些时候多写两句代码或许真能让你少吃两斤:
Response.Flush():
Response.End();
博客:http://beniao.cnblogs.com

TOP

.NET发烧友交流群  群一:5953354(满)群二:68096127群三:30217249群四:37023079
注:二、三、四群管理员正在招募中,希望大家多多支持!
drl_0602@hotmail.com    为了更好的交流互相加一下

TOP

回复 8# 雪雨星风 的帖子

不要汗  是事实  你试试就知道了。不加那两句把页面的html都全部给你返回了。
博客:http://beniao.cnblogs.com

TOP

高手啊,看样子,学学ajax很有用啊,

TOP

发新话题