jquery+ajax实现注册实时验证实例详解
本文实例讲述了jquery+ajax实现注册实时验证。分享给大家供大家参考,具体如下:
当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了一遍,给记录下来O(∩_∩)O哈!
先介绍下ajax中$.get,由于$.post用法和$.get大同小异就不再介绍了:
这是一个简单的GET请求功能以取代复杂$.ajax。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。
$(selector).get(url,data,success(response,status,xhr),dataType)
请求test.php网页,忽略返回值:
$.get("test.php");
更多示例:
例子1
请求test.php网页,传送2个参数,忽略返回值:
$.get("test.php",{name:"John",time:"2pm"});
例子2
显示test.php返回值(HTML或XML,取决于返回值):
$.get("test.php",function(data){ alert("DataLoaded:"+data); });
例子3
显示test.cgi返回值(HTML或XML,取决于返回值),添加一组请求参数:
$.get("test.cgi",{name:"John",time:"2pm"}, function(data){ alert("DataLoaded:"+data); });
下面贴上我的代码:
<head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>用户注册</title> <scripttype="text/javascript"src="jquery/jquery-1.5.2.js"></script> <scripttype="text/javascript"> $(document).ready(function(){ $("#username").focus(); $("#username").keyup(function() { name=$("#username").val();//val()方法返回或设置被选元素的值。 if(len(name)<4)//调用下面的自定义len函数 $("#username1").html("<fontcolor=red>注册名称必须大于等于2位</font>"); else $("#username1").html("<fontcolor=red>符合要求</font>");//html()方法返回或设置被选元素的内容(innerHTML)。 }); $("#username").blur(function(){ name=$("#username").val(); $.get("t1.php",{username:name},function(data){//判断数据库中是否存在此用户名重点$.get,$.postt1.php在下面 if(data==1){$("#username1").html("<fontcolor=green>符合要求</font>");} else{$("#username1").html("<fontcolor=green>已被占用</font>");} }); }); }); functionlen(s){//若为汉字之类的字符则占两个 varl=0; vara=s.split(""); for(vari=0;i<a.length;i++){ if(a[i].charCodeAt(0)<299){ l++; }else{ l+=2; } } returnl; } </script> </head> <body> <formname="fram"action="register.php"onsubmit="returndocheck();"> <tablewidth="330"border="0"align="center"cellpadding="5"bgcolor="#eeeeee"> <tr> <td>用户名:</td> <td><inputname="username"type="text"id="username"/></td><td><divid="username1"></div></td> </tr> </table> </form> </body> </html>
t1.php:
<?php $link=mysql_connect("localhost","root",""); mysql_select_db("test"); mysql_query("setnamesutf8");// $sql="select*fromuserwhereuser='".$_GET['username']."'";// $result=mysql_query($sql)ordie(mysql_error()); $num=mysql_affected_rows(); if($num==0) $msg=1; else $msg=0; echo$msg;//返回值 mysql_close($link); ?>
希望本文所述对大家jQuery程序设计有所帮助。