首先需要一個添加年級的頁面,暫時叫grade.htm
這個檔案需要引入兩個檔案jquery.js(jquery架構檔案)和grade.js(驗證的單獨檔案)。
下面的input用於輸入使用者名稱字,id="gradeInfo"是為了顯示提示資訊用的。
grade.htm
複製代碼 代碼如下:<input type="text" size="6" name="NAME" id="NAME"/><font color="red">*</font>
<span id="gradeInfo"></span>
當使用者輸入資訊以後,進入驗證環節,看看我們的驗證grade.js是怎麼寫的。
grade.js 複製代碼 代碼如下:/**
* 驗證使用者名稱是否重複的js
*
* @name grade.js
* @author jason<msn:x334@eyou.com>
* @use 驗證使用者名稱是否存在
* @todo
*/
$(document).ready(function(){
checkConfirm();
});
//驗證使用者名稱是否存在
function checkConfirm(){
$("#NAME").blur(function(){
var gradename = $(this).val();
var changeUrl = "GradeAdmin.php?action=check&gradename="+gradename;
$.get(changeUrl,function(str){
if(str == '1'){
$("#gradeInfo").html("<font color=\"red\">您輸入的使用者名稱存在!請重新輸入!</font>");
}else{
$("#gradeInfo").html("");
}
})
return false;
})
}
上面這段js檔案,我只解釋幾個比較關鍵的地方。
1、$("#NAME").blur的含義是當grade.htm裡的id為NAME的表單輸入完以後觸發動作。
2、$(this).val()的含義是取得id為NAME的表單裡的值。
3、$.get(changeUrl,function(str)的含義是:運行ajax後,changeUrl是要串連的程式地址,str是程式
計算結束以後得到的顯示結構。
4、$("#gradeInfo").html的含義是給id為gradeInfo的標籤寫入html檔案。id為gradeInfo的標籤就是指
的grade.htm裡的id為gradeInfo的標籤,顯示的內容會出現再這個標籤所在的位置。
再看看GradeAdmin.php的計算形式。
GradeAdmin.php
複製代碼 複製代碼 代碼如下:if($frm_action == 'check')
{
$gradeName = $_GET['gradename'];
$gradeAdminObj = new Services_GradeAdmin($db);
//根據$gradeName去判斷是否再資料庫裡存在填入的使用者名稱字,如果存在返回1,如果
不存在返回0,這個傳回值是傳到grade.js裡。
$gradeCheck = $gradeAdminObj->getGradeByName($gradeName);
if(is_numeric($gradeCheck)){
echo '1';
}else{
echo '0';
}
exit();
}
這就是判斷使用者註冊時使用者名稱是否已存在問題