国产探花免费观看_亚洲丰满少妇自慰呻吟_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函數在已經存在的用戶名搜索當前用戶輸入的名字,判斷是否已經存在。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马公市| 英德市| 上栗县| 邵武市| 泗阳县| 额敏县| 环江| 马关县| 舞钢市| 平舆县| 成都市| 黄龙县| 秦皇岛市| 延长县| 马关县| 余干县| 柳河县| 福海县| 辽源市| 西藏| 黔江区| 兴安盟| 封开县| 溧水县| 榆社县| 张家口市| 宁海县| 耒阳市| 阆中市| 海原县| 泾川县| 松桃| 南投市| 翁源县| 平果县| 长春市| 河池市| 玉山县| 黄冈市| 边坝县| 尉氏县|