.net2003+ajax 表单用户名验证无刷新

1创建两张页面 Reg.aspx、CallServer.aspx。
在Reg.aspx页面的html中放 一个层和一个文本框
<div id="aa">
<asp:TextBox id="txtuser" runat="server" Width="136px"></asp:TextBox>
</div>
<span id="errInfo">请输入用户名</span>
在Reg.aspx页面中写javascript
定义二个变量 、三个函数

var  xmlhttp = false ;   // 放 ActiveXObject的实例
var  NewsInfo = "" ;     // 放 字符串

function  GetXmlHttp()
{
  
if(window.ActiveXObject)
   
{
     
try
       
{
  xmlhttp
=new ActiveXObject("Msxml2.XMLHTTP.3.0");
       }

     
catch(e)
       

   
try
     
{
       xmlhttp
=new ActiveXObject("Microsoft.XMLHTTP");
     }

   
catch(e)
     
{
       NewsInfo
="服务器忙...";
     }

       }

   }

   
return xmlhttp;
}


function  CallServer()
{
  GetXmlHttp();
  
var struser=document.getElementById("txtuser").value;
  
if(struser=="" || struser==null)return;
  
var url="CallServer.aspx?user="+escape(struser);
  xmlhttp.onreadystatechange
=CallBack;
  xmlhttp.open(
"post",url,true);
  xmlhttp.send();
}

function  CallBack()
{
  
if(xmlhttp.readyState==1)
    
{
      NewsInfo
="Loading...";
    }

  
if(xmlhttp.readyState==4)
    
{
      
var msg=xmlhttp.reponseText;
      
var spanid=document.getElementById("errInfo");
      spanid.innerHTML
=msg;
    }

}



2在CallServer.aspx页面的page_load中写如下代码

SqlConnection conn = new  SqlConnection( " server=.;database=test;uid=aa;pwd=aa " );
SqlCommand cmd
= new  SqlCommand();

private   void  Page_Load( object  sender, System.EventArgs e)
{   
  
if(!this.IsPostBack)
   
{
 
this.Bind();
   }

}


private   void  Bind()
{
 
string struser=Request.QueryString["userna"].ToString();
 
string strSql="select count(*) from tt where username='"+struser+"'";
 cmd.Connection
=conn;
 cmd.CommandText
=strSql;
 conn.Open();
 
int asd=int.Parse(cmd.ExecuteScalar().ToString());
 
if(asd>0)
 
{
  Response.Write(
"用户名重复,请重新选择.");
  Response.End();
 }

 
else
 
{
  Response.Write(
"用户名可以使用.");
  Response.End();
 }

}



3在Reg.aspx页面中找到层[id="aa"]在层中写onmouseout="callserver();"
<div id="aa" onmouseout="callserver();">
 <asp:TextBox id="txtuser" runat="server" Width="136px"></asp:TextBox>
</div>

 

你可能感兴趣的:(.net2003+ajax 表单用户名验证无刷新)