注册环节的AJAX验证———班级管理系统心得

       班级管理系统在注册环节有一个动态的验证是否被注册,当用户的鼠标的焦点离开对应的对话框和就会触发前台的一个JS函数,此函数通过创建一个xmlHttp对象,通过这个对象的onreadystatechange属性判断连接的状态,和open方法来获取数据页面的值,open方法的参数为("GET", "DataRegist.aspx?UserName="+UserName, true);

现将源码贴出,希望各位大牛指错

 <td  align="right">
              <p>用户名:</p> </td>
               <td align="left">
                   <asp:TextBox ID="TxtUserName" runat="server" onblur="javascript:startRequest();" Width="140px" ></asp:TextBox>
                   <div id="default" ></div>
                </td>

 

 

js代码:代码
var xmlHttp;
var response_txt;



//创建对象
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp
= new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp
= new XMLHttpRequest();
}
}
//连接
function startRequest()
{
createXMLHttpRequest();

var UserName=document.getElementById("TxtUserName").value;
xmlHttp.onreadystatechange
= handleStateChange;
xmlHttp.open(
"GET", "DataRegist.aspx?UserName="+UserName, true);
xmlHttp.send(
null);
}

function handleStateChange()
{
var obj=document.getElementById("default");
if(xmlHttp.readyState ==4)
{
if(xmlHttp.status == 200)
{

response_txt
=xmlHttp.responseText;

if(response_txt.indexOf("a")!=-1)
{

//用于显示验证是否通过的详细信息加上刚刚所定义正确时的样式
obj.className="Right";
obj.innerHTML
='该会员名可以注册!';
}
else
{

//用于显示验证是否通过的详细信息加上刚刚所定义错误时的样式
obj.className="Error";

obj.innerHTML
='该会员名已经被注册!';
}

}
}



}

数据页的代码

 

 

public partial class DataRegist : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string UserName = Request.QueryString["UserName"].ToString();
        string SqlSelect = "select * from TblLoginUser where userName='" + UserName + "'";
        DataTable dtSelect = DBLink.GetDataTable(SqlSelect);
        
      
        if(dtSelect.Rows.Count==0)
        {

            Response.Write("a");

        }
        else
        {
            Response.Write("unvailable");
        }
        
    }
}

 

posted @ 2011-01-15 09:26  shawnXiao  Views(519)  Comments(0Edit  收藏  举报