注册实时验证详解(ajax,jquery)

当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了一遍,给记录下来O(∩_∩)O哈!

我在我原来的博客上也有这个介绍……http://hi.baidu.com/%BD%A3%BE%B2%B7%E3/blog/item/a8ddd2eb8a379d00fdfa3c06.html

先介绍下ajax中$.get,由于$.post用法和$.get大同小异就不再介绍了(来自http://www.w3school.com.cn):

这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

$(selector).get(url,data,success(response,status,xhr),dataType)
参数 描述
url 必需。规定将请求发送的哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
success(response,status,xhr)

可选。规定当请求成功时运行的函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态
  • xhr - 包含 XMLHttpRequest 对象
dataType

可选。规定预计的服务器响应的数据类型。

默认地,jQuery 将智能判断。

可能的类型:

  • "xml"
  • "html"
  • "text"
  • "script"
  • "json"
  • "jsonp"

请求 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("Data Loaded: " + data);
});

例子 3

显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数:

$.get("test.cgi", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  });

下面贴上我的代码:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>用户注册</title> <script type="text/javascript" src="jquery/jquery-1.5.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#username").focus(); $("#username").keyup(function() { name= $("#username").val();//val()方法返回或设置被选元素的值。 if(len(name)< 4)//调用下面的自定义len函数 ~\(≧▽≦)/~啦啦啦 $("#username1").html("<font color=red>注册名称必须大于等于2位</font>"); else $("#username1").html("<font color=red>符合要求</font>");//html() 方法返回或设置被选元素的内容 (inner HTML)。 }); $("#username").blur(function(){ name= $("#username").val(); $.get("t1.php", { username:name } ,function(data){//判断数据库中是否存在此用户名 重点$.get,$.post t1.php在下面 if(data==1) {$("#username1").html("<font color=green>符合要求</font>");} else {$("#username1").html("<font color=green>已被占用</font>");} }); }); }); function len(s) {//若为汉字之类的字符则占两个 var l = 0; var a = s.split(""); for (var i=0;i<a.length;i++) { if (a[i].charCodeAt(0)<299) { l++; } else { l+=2; } } return l; } </script> </head> <body> <form name="fram" action="register.php" οnsubmit="return docheck();"> <table width="330" border="0" align="center" cellpadding="5" bgcolor="#eeeeee"> <tr> <td>用户名:</td> <td><input name="username" type="text" id="username" /></td><td><div id="username1"></div></td> </tr> </table> </form> </body> </html>
t1.php:
<?php $link=mysql_connect("localhost","root",""); mysql_select_db("test"); mysql_query("set names utf8");// $sql="select * from user where user='".$_GET['username']."'";// $result=mysql_query($sql) or die(mysql_error()); $num=mysql_affected_rows(); if($num==0) $msg=1; else $msg=0; echo $msg;//返回值 mysql_close($link); ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值