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>
|