1. 程式人生 > >jquery與php互動的ajax應用第一課:檢測使用者註冊時使用者名稱是否存在

jquery與php互動的ajax應用第一課:檢測使用者註冊時使用者名稱是否存在

當用戶註冊需要知道這個使用者名稱是否被人使用所以需要在使用者登陸前判斷
為了使使用者得到更好的體驗,我們使用了jquery的ajax效果,來使用者名稱是否存在。

首先需要一個新增年級的頁面,暫時叫grade.htm
這個檔案需要引入兩個檔案jquery.js(jquery框架檔案)和grade.js(驗證的單獨檔案)。

下面的input用於輸入使用者名稱字,id="gradeInfo"是為了顯示提示資訊用的。

grade.htm

  1. <inputtype="text"size="6"name="NAME"id="NAME"/><fontcolor="red">*</
    font>
  2. <spanid="gradeInfo"></span>

當用戶輸入資訊以後,進入驗證環節,看看我們的驗證grade.js是怎麼寫的。

[javascript] view plaincopy
  1. /**  
  2. * 驗證使用者名稱是否重複的js  
  3.  
  4. * @name   grade.js  
  5. * @author jason<msn:[email protected] 
  6. * @use    驗證使用者名稱是否存在  
  7. * @todo  
  8. */
  9. $(document).ready(function(){   
  10.     checkConfirm();   
  11. });   
  12. //驗證使用者名稱是否存在 
  13. function checkConfirm(){   
  14. $("#NAME").blur(function(){   
  15.   var gradename  = $(this).val();   
  16.   var changeUrl = "GradeAdmin.php?action=check&gradename="+gradename;   
  17.   $.get(changeUrl,function(str){   
  18.    if(str == '1'){   
  19.     $("#gradeInfo").html("<font color=/"red/">您輸入的使用者名稱存在!請重新輸入!</font>"
    );   
  20.    }else{   
  21.     $("#gradeInfo").html("");   
  22.    }   
  23.   })   
  24.   returnfalse;   
  25. })   
  26. }   
  27. 本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/huminghai/archive/2009/11/03/4764095.aspx

上面這段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

[javascript] view plaincopy
  1. if($frm_action == 'check')   
  2. {   
  3.   $gradeName = $_GET['gradename'];   
  4.   $gradeAdminObj = new Services_GradeAdmin($db);   
  5.   //根據$gradeName去判斷是否再資料庫裡存在填入的使用者名稱字,如果存在返回1,如果 
  6. 不存在返回0,這個返回值是傳到grade.js裡。   
  7.   $gradeCheck = $gradeAdminObj->getGradeByName($gradeName);   
  8.   if(is_numeric($gradeCheck)){   
  9.    echo '1';   
  10.   }else{   
  11.    echo '0';   
  12.   }   
  13.   exit();   
  14. }   

這就是判斷使用者註冊時使用者名稱是否已存在問題