jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在

 当用户注册需要知道这个用户名是否被人使用所以需要在用户登陆前判断
为了使用户得到更好的体验,我们使用了jquery的ajax效果,来用户名是否存在。

首先需要一个添加年级的页面,暂时叫grade.htm
这个文件需要引入两个文件jquery.js(jquery框架文件)和grade.js(验证的单独文件)。

下面的input用于输入用户名字,id="gradeInfo"是为了显示提示信息用的。

grade.htm

复制代码
  1. *

当用户输入信息以后,进入验证环节,看看我们的验证grade.js是怎么写的。

grade.js
复制代码
  1. /**
  2. * 验证用户名是否重复的js
  3. *
  4. * @name   grade.js
  5. * @author jason
  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.   
  18.   $.get(changeUrl,function(str){
  19.    if(str == '1'){
  20.     $("#gradeInfo").html("您输入的用户名存在!请重新输入!");
  21.    }else{
  22.     $("#gradeInfo").html("");
  23.    }
  24.   })
  25.   return false;
  26. })
  27. }

上面这段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
复制代码
  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. }


这就是判断用户注册时用户名是否已存在问题

你可能感兴趣的:(jquery)