国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

AJAX應用之注冊用戶即時檢測

2024-09-01 08:32:07
字體:
來源:轉載
供稿:網友

AJAX的無刷新機制使得在注冊系統中對于注冊名稱的檢測能即時顯示。

常見的用戶注冊是用戶輸入用戶名,后臺程序檢測數據庫中用戶名是否重復而做出注冊的成功與失敗之提示(當用戶注冊重名時將返回重新注冊),或者稍微人性化一點就是在用戶名文本框后添加一個檢測按鈕,讓用戶檢測后再做注冊。

以上操作,對于用戶體驗方面來說是比較“差勁”的,一個很好的用戶體驗就是:當用戶輸入完注冊用戶名后,Web系統應能即時檢查并即時顯示,并在檢查和顯示的同時不影響當前頁面的操作。這也就是“異步獲取數據”的要求,而這正是AJAX的強項

比如如下的示例就能展現AJAX的該功能:



當輸入已經存在的用戶名(如cnbruce、cnrose)時頁面將顯示重名不能注冊(false),否則將顯示可以注冊(true),這為用戶的注冊提供了快速的參考,用戶體驗至上。

那么下面就來說說是如何來實現這樣的功能的。

其實通過如上的t1.htm的源代碼,各位就可以看到AJAX的精髓

首先是定義XMLHttp對象


var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}



關于這部分內容的說明請看:
?cat_id=34&log_id=987

接著是自定義函數


function callServer() {
var u_name = document.getElementById("u_name").value;
if ((u_name == null) || (u_name == "")) return;
var url = "cu.asp?name=" + escape(u_name);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}


該函數的主要功能就是異步獲得cu.asp的內容,在此前將先提取當前頁表單元素“u_name”即用戶名文本框zhogn 的值,通過cu.asp其后的參數及賦值而得到了不同的結果(true or false)。

那么這里要說的即是cu.asp,他的主要功能就是接受URL參數name的值做內容顯示,該內容最終被t1.htm異步獲取。



<!--cu.asp的源碼示例-->

<!--#include file="conn.asp"-->
<%
name=request.querystring("name")
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from u_ser where u_name='"&name&"'"
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
response.write("true")
else
response.write("false")
end if
rs.close
set rs=nothing
call CloseDatabase
%>



如何將異步獲取的信息顯示在當前頁呢


function updatePage() {
if (xmlHttp.readyState < 4) {
test1.innerHTML="loading...";
}
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
test1.innerHTML=response;
}
}


其中xmlHttp.readyState中的readyState表示服務器在處理請求時的進展狀況,其值分別有0-4,各有其說明情況,具體請參看:

?cat_id=34&log_id=718

使用DHTML中的innerHTML可顯示信息在定義的 <span>是否能注冊</span> 上。

其余表單頁面就不詳敘了

打包文件下載(下載后將后綴 .cnbruce 修改為 .rar):

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈巴河县| 航空| 东城区| 台湾省| 象州县| 揭西县| 玉屏| 黄陵县| 文昌市| 吉木萨尔县| 永修县| 宾阳县| 富源县| 香港 | 孟州市| 镇坪县| 辽阳县| 宁海县| 绥宁县| 文昌市| 从化市| 舒城县| 桦川县| 宁强县| 九江市| 萨迦县| 枝江市| 临夏市| 申扎县| 丰城市| 昌江| 巴东县| 吴桥县| 姜堰市| 邵武市| 庆云县| 隆尧县| 浦县| 板桥市| 公主岭市| 宕昌县|