這個檔案需要引入兩個檔案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();
}
這就是判斷使用者註冊時使用者名稱是否已存在問題