作者blog:www.cnbruce.com/blog/
ajax的無重新整理機制使得在註冊系統中對於註冊名稱的檢測能即時顯示。
常見的使用者註冊是使用者輸入使用者名稱,後台程式檢測資料庫中使用者名稱是否重複而做出註冊的成功與失敗之提示(當使用者註冊重名時將返回重新註冊),或者稍微人性化一點就是在使用者名稱文字框後新增乙個檢測按鈕,讓使用者檢測後再做註冊。
以上操作,對於使用者體驗方面來說是比較「差勁」的,乙個很好的使用者體驗就是:當使用者輸入完註冊使用者名稱後,web系統應能即時檢查並即時顯示,並在檢查和顯示的同時不影響當前頁面的操作。這也就是「非同步獲取資料」的要求,而這正是ajax的強項
功能展現
當輸入已經存在的使用者名稱(如cnbruce、cnrose)時頁面將顯示重名不能註冊(false),否則將顯示可以註冊(true),這為使用者的註冊提供了快速的參考,使用者體驗至上。
那麼下面就來說說是如何來實現這樣的功能的。
其實通過如上的t1.htm的源**,各位就可以看到ajax的精髓
首先是定義xmlhttp物件
以下是**片段:
關於這部分內容的說明請看
接著是自定義函式
以下是**片段:
function callserver()
該函式的主要功能就是非同步獲得cu.asp的內容,在此前將先提取當前頁表單元素「u_name」即使用者名稱文字框zhogn 的值,通過cu.asp其後的引數及賦值而得到了不同的結果(true or false)。
那麼這裡要說的即是cu.asp,他的主要功能就是接受url引數name的值做內容顯示,該內容最終被t1.htm非同步獲取。
以下是**片段:
<%
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
%>
如何將非同步獲取的資訊顯示在當前頁呢
以下是**片段:
其中xmlhttp.readystate中的readystate表示伺服器在處理請求時的進展狀況,其值分別有0-4,各有其說明情況,具體請參看
使用dhtml中的innerhtml可顯示資訊在定義的 是否能註冊 上。
其餘表單頁面就不詳敘了
AJAX應用之註冊使用者即時檢測
ajax的無重新整理機制使得在註冊系統中對於註冊名稱的檢測能即時顯示。常見的使用者註冊是使用者輸入使用者名稱,後台程式檢測資料庫中使用者名稱是否重複而做出註冊的成功與失敗之提示 當使用者註冊重名時將返回重新註冊 或者稍微人性化一點就是在使用者名稱文字框後新增乙個檢測按鈕,讓使用者檢測後再做註冊。以上...
應用ajax實現檢測註冊使用者名稱是否已經存在
電印打標液 021 51388276 杭州氣動打標機上海友宇 st雙色金屬刻字機 st金屬刻字機特點 利用電火花原理在導電金屬表面刻出發黑或發白標識。這種電刻機雖然刻字效果不如h 13那樣美觀,但它能夠對超高硬度的材質進行輕鬆刻印,而且不影響工件平整度。公司主要銷售 氣動打標機電印模板 金屬電印打標...
ajax 檢測註冊使用者名稱是否存在
如果不了解ajax,可以找一些教程看看。其實很簡單。就是通過xmlhttp組建處理提交的條件資料,然後後台asp asp.net程式根據條件資料查詢資料庫,得到不同結果。然後返回給前台js程式,js程式處理後無重新整理的展現在前台。1.ajaxnamecheck.js 這個檔案包含到你的註冊頁面 建...