注册 登录
编程论坛 jQuery论坛

关于AJAX用户注册时检测用户名的问题

sldtk1 发布于 2008-03-10 00:34, 2383 次点击
通常在注册写完用户名,光标移到用户密码的时候,会在输入用户名的文本框后面出现一个动态图标,后面写“正在连接数据库,请稍后”,然后出现一个绿色勾的图标或红色的X表示用户名存在或者不存在,请问这个功能怎么实现?最好给出代码或例子,谢谢!刚学AJAX不久,什么都不懂。。。。。。
5 回复
#2
lmhllr2008-03-10 16:53
思路:
当用户名的表单失去焦点时用ajax到数据库查询是否存在该用户名,不存在显示绿色打勾图片,存在就显示红色叉叉图片.....
#3
sldtk12008-03-10 20:12
在C#.NET中要用到什么控件,在哪里加数据库操作部分的代码?
#4
beniao2008-03-18 01:20
<script type="text/javascript">
    var xmlHttp;
    function createXMLHttpRequest()
    {
        if(window.ActiveXObject)
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if(window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest();
        }
    }
    //处理方法
    function CheckUserName()
    {
        createXMLHttpRequest();
        var url= "LoginValidate.ashx?username="+document.getElementById("username").value;
        xmlHttp.open("GET",url,true);
        xmlHttp.onreadystatechange=ShowResult;
        xmlHttp.send(null);
        //document.getElementById("Msg").innerHTML='';
    }
    //回调方法
    function ShowResult()
    {
        if(xmlHttp.readyState==4)
        {
            if(xmlHttp.status==200)
            {
                document.getElementById("Msg").innerHTML=xmlHttp.responseText;
            }
        }
    }
</script>


<%@ WebHandler Language="C#" Class="LoginValidate" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public class LoginValidate : IHttpHandler
{
   
    public void ProcessRequest (HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        string username = context.Request.QueryString["username"].ToString();
        string strSQL = "select username from users where username='" + username + "'";
        if (ReDataSet(strSQL).Tables[0].Rows.Count > 0)
        {
            context.Response.Write("该用户已经有人使用!");
        }
        else
        {
            context.Response.Write("恭喜你!"+username+"可以使用!");
        }
        System.Threading.Thread.Sleep(3000);
    }

    //数据库连接字符串
    public static string strCon = "Data Source=.;database=exam;uid=sa;pwd=;";

    /// <summary>
    /// 执行SQL语句,返回DataSet
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns></returns>
    public  DataSet ReDataSet(string strSQL)
    {
        SqlConnection con = new SqlConnection(strCon);
        try
        {
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter(strSQL, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            con.Close();
        }
    }
   
    /// <summary>
    /// 不重复调用
    /// </summary>
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}
#5
sldtk12008-03-18 12:19
十分感谢!!!马上去试试。。。
#6
beniao2008-03-29 16:04
回复 5# 的帖子
呵呵```成功了没?
   可以看看我写的相关文章.
 这个论坛里也有不少
 我主页里也不少
http://
1