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

首頁 > 開發 > AJAX > 正文

Ajax 用戶名驗證是否存在

2024-09-01 08:31:39
字體:
來源:轉載
供稿:網友
做一個表單驗證里面最簡單的例子,檢查用戶名是否存在,使用Ajax完成表單驗證的正常步驟應該是

客戶端收集表單信息。
使用XMLHttpRequest對象提交到服務器
服務器完成驗證的邏輯,返回結果信息。
瀏覽器端根據服務器返回的信息對用戶做出一定的提示。
不過由于我的空間不支持任何服務器段語言,所以把本應在服務器的邏輯搬到了瀏覽器,由JavaScript來做,服務器只負責提供一個用戶名的列表。最后的效果如下,試著輸入test,cainiao8這些用戶名,都會顯示已注冊。
JavaScript代碼分析
首先,當文檔載入完畢的時候,給表格設置change事件的響應函數ajaxValidate,代碼如下:
程序代碼
addEventSimple(window,'load',function(){
var test = document.getElementById('username');
addEventSimple(test,'change',ajaxValidate);
}
這樣,當用戶名文本框內的值改變之后,就會調用ajaxValidate函數,其代碼如下:
程序代碼
function ajaxValidate(){
var options = {
url:'ajax/ajaxUsernames.xml',
listener:callback,
method:'GET'
}
var request = createRequest(options);
request.send(null);
}
它會使用之前介紹的createRequest函數初始化一個XMLHttpRequest對象,并且將它發送到服務器,請求ajaxUsernames.xml文件。
最后就是callback函數了:
程序代碼

復制代碼 代碼如下:


function callback(){
var xmlDoc = this.responseXML;
var root = xmlDoc.getElementsByTagName('root')[0];
var nodes = root.getElementsByTagName("username");
var currentNode = null;
var username = document.getElementById('username').value;
for(var i = 0; i < nodes.length; i++) {
currentNode = nodes[i];
if(username == currentNode.childNodes[0].nodeValue){
document.getElementById('test').innerHTML = '對不起!'+username+'已經被注冊。';
return;
}
}
document.getElementById('test').innerHTML = '用戶名' + username +'可以使用!';
}


callback函數在已經存在的用戶名搜索當前用戶輸入的名字,判斷是否已經存在。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新疆| 姜堰市| 秭归县| 凤凰县| 茶陵县| 巍山| 广元市| 蒲城县| 安国市| 崇明县| 民乐县| 高邮市| 富蕴县| 房产| 肇州县| 和林格尔县| 金阳县| 开阳县| 宝鸡市| 邻水| 石渠县| 郯城县| 承德市| 沅江市| 社会| 滦平县| 晋中市| 上高县| 库车县| 赣榆县| 成武县| 定结县| 海城市| 修武县| 东乡族自治县| 黄浦区| 吴忠市| 阿尔山市| 共和县| 维西| 怀来县|