AJAX用户检测
AJAX带来的用户体验是有目共睹的,就最小的应用,我们来尝试着实现一下。依然采用HotHeart的AJAXRequest 类 ,使用参见另一篇文章ASP的AJAX开始。
实现效果如下:
其他的不多说,老规矩,看代码:
reg.html
<html>
<head>
<title>AJAX用户名检测</title>
<script type="text/javascript" src="ajaxrequest.js"></script>
<script type="text/javascript" >
var ajax=new AJAXRequest();
function regCheck() {
var uname=document.getElementById("user_name");
ajax.get("proc_user.asp?action=regcheck&user_name="+uname.value,usercheck);
}
function usercheck(obj) {
document.getElementById("msg_user_name").innerHTML=unescape(obj.responseText);
}
</script>
</head>
<body>
用户名:<input type="text" name="user_name" id="user_name"/>
<button onclick="regCheck();">检测用户</button><label id="msg_user_name">注:数据库中只有admin和shaoyun两个用户</label>
</body>
</html>
<head>
<title>AJAX用户名检测</title>
<script type="text/javascript" src="ajaxrequest.js"></script>
<script type="text/javascript" >
var ajax=new AJAXRequest();
function regCheck() {
var uname=document.getElementById("user_name");
ajax.get("proc_user.asp?action=regcheck&user_name="+uname.value,usercheck);
}
function usercheck(obj) {
document.getElementById("msg_user_name").innerHTML=unescape(obj.responseText);
}
</script>
</head>
<body>
用户名:<input type="text" name="user_name" id="user_name"/>
<button onclick="regCheck();">检测用户</button><label id="msg_user_name">注:数据库中只有admin和shaoyun两个用户</label>
</body>
</html>
proc_user.asp
<!--#include file="conn.asp"-->
<%
dim action:action=trim(Request.QueryString("action"))
select case action
case "regcheck"
dim user_name,ret_string
user_name=trim(Request.QueryString("user_name"))
if isReg(user_name) then
ret_string=escape(user_name & "已被注册!重新输入!")
else
ret_string=escape(user_name & "未被注册!可以使用!")
end if
Response.Write ret_string
end select
function isReg(username)
dim retval:retval=false
openConn("db.mdb")
sqlstr="select user_name from [user] where user_name='" & username &"'"
call openRS(sqlstr,1)
If not(rs.bof and rs.eof) Then retval=true
closeRS():closeConn():isReg=retval
end function
%>
<%
dim action:action=trim(Request.QueryString("action"))
select case action
case "regcheck"
dim user_name,ret_string
user_name=trim(Request.QueryString("user_name"))
if isReg(user_name) then
ret_string=escape(user_name & "已被注册!重新输入!")
else
ret_string=escape(user_name & "未被注册!可以使用!")
end if
Response.Write ret_string
end select
function isReg(username)
dim retval:retval=false
openConn("db.mdb")
sqlstr="select user_name from [user] where user_name='" & username &"'"
call openRS(sqlstr,1)
If not(rs.bof and rs.eof) Then retval=true
closeRS():closeConn():isReg=retval
end function
%>
注:以上实例需要IIS环境。