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>
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
%>
註:以上執行個體需要IIS環境。
附件:ajax_usercheck_demo.rar