注册环节的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");

        }

        

    }

}

 

你可能感兴趣的:(Ajax)