var objRequest;
function getajax()
{
try
{
objRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
objRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
objRequest=null;
}
}
}
//以上为公共部分
function Isname() //函数名,自定义
{ getajax();
var name = document.getElementById("name").value;
if(!objRequest&&typeof XMLHttpRequest!="undefined")
{objRequest=new XMLHttpRequest();}
var url="ajax.asp?action=Isreg&name="+escape(name);
if(objRequest!=null)
{
objRequest.onreadystatechange = nameProcess;
objRequest.open("GET",url,true);
objRequest.send(null);
}
}
function nameProcess()
{
var objname = document.getElementById("nametest");
if(objRequest.readyState<4){
objname.innerHTML="正在检测";
}
else if(objRequest.readyState == 4){
var response = objRequest.responseText;
objname.innerHTML=unescape(response);
}
else{
objname.innerHTML = "Error:"+objRequest.statusText;
}
//此处else可不要
}
ajax.asp
<!--#include file="conn.asp"--> //conn.asp是数据库相关代码
<%if Request.QueryString("action")="Isreg" then
name=Request.QueryString("name")
'以上为ajax.js的两个传递
namelng=len(name)
if namelng<4 or namelng>20 then
response.write "<font color=#ff0000>用户名长度不符。</font>"
else
set Isins=conn.Execute("select [name] from [user] where [name]='"&name&"'")
if (Isins.bof and Isins.eof) then
response.write "可以注册"
else
response.write "<font color=#ff0000>已被注册</font>"
end if
end if
set Isins=nothing
end if%>
注册页面调用
<script type="text/javascript" src="include/ajax.js"/></script>
用户名:<input name="name" type="text" id="name" size="16" maxlength="16" onChange="Isname();"><span id="nametest"></span>