>  기사  >  웹 프론트엔드  >  jquery ajax 检测用户注册时用户名是否存在

jquery ajax 检测用户注册时用户名是否存在

WBOY
WBOY원래의
2016-06-01 09:54:241305검색

首先需要一个添加年级的页面,暂时叫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>

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.