这个文件需要引入两个文件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();
}
这就是判断用户注册时用户名是否已存在问题