首先需要一个添加年级的页面,暂时叫grade.htm
这个文件需要引入两个文件jquery.js(jquery框架文件)和grade.js(验证的单独文件)。
下面的input用于输入用户名字,id="gradeInfo"是为了显示提示信息用的。
grade.htm
<code class="language-html"><input type="text" size="6" name="NAME" id="NAME"><font color="red">*</font> <span id="gradeInfo"></span> </code>
当用户输入信息以后,进入验证环节,看看我们的验证grade.js是怎么写的。
grade.js
<code class="language-javascript">/** * 验证用户名是否重复的js * * @name grade.js * @author jason<x334> * @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; }) } </x334></code>
上面这段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
<code class="language-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(); } </code>
这就是判断用户注册时用户名是否已存在问题