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

来源:互联网 发布:js table 添加tr td 编辑:程序博客网 时间:2024/06/06 01:57

来源:http://blog.csdn.net/ljfbest/article/details/6654785(学长的博客大笑


先介绍下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);  });

下面贴上我的代码:
[html] view plaincopyprint?
  1. <head>  
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  3. <title>用户注册</title>  
  4. <script type="text/javascript" src="jquery/jquery-1.5.2.js"></script>  
  5. <script type="text/javascript">  
  6. $(document).ready(function(){  
  7. $("#username").focus();  
  8. $("#username").keyup(function()  
  9. {     
  10.   name= $("#username").val();//val()方法返回或设置被选元素的值。  
  11. if(len(name)< 4)//调用下面的自定义len函数  ~\(≧▽≦)/~啦啦啦  
  12.    $("#username1").html("<font color=red>注册名称必须大于等于2位</font>");  
  13.    else  
  14. $("#username1").html("<font color=red>符合要求</font>");//html() 方法返回或设置被选元素的内容 (inner HTML)。  
  15. });  
  16. $("#username").blur(function(){   
  17. name= $("#username").val();  
  18. $.get("t1.php", { username:name } ,function(data){//判断数据库中是否存在此用户名 重点$.get,$.post t1.php在下面  
  19.    if(data==1) {$("#username1").html("<font color=green>符合要求</font>");}  
  20. else {$("#username1").html("<font color=green>已被占用</font>");}  
  21. });  
  22. });  
  23. });  
  24. function len(s) {//若为汉字之类的字符则占两个  
  25. var l = 0;  
  26. var a = s.split("");  
  27. for (var i=0;i<a.length;i++) {  
  28.  if (a[i].charCodeAt(0)<299) {  
  29.   l++;  
  30.  } else {  
  31.   l+=2;  
  32.  }  
  33. }  
  34. return l;  
  35. }  
  36. </script>  
  37. </head>  
  38. <body>  
  39. <form name="fram" action="register.php" onsubmit="return docheck();">  
  40. <table width="330" border="0" align="center" cellpadding="5" bgcolor="#eeeeee">  
  41. <tr>  
  42.    <td>用户名:</td>  
  43.    <td><input name="username" type="text" id="username" /></td><td><div id="username1"></div></td>   
  44. </tr>  
  45. </table>  
  46. </form>  
  47. </body>  
  48. </html>  

t1.php:
[php] view plaincopyprint?
  1. <?php  
  2. $link=mysql_connect("localhost","root","");  
  3. mysql_select_db("test");  
  4. mysql_query("set names utf8");//  
  5. $sql="select * from user where user='".$_GET['username']."'";//  
  6.     $result=mysql_query($sqlor die(mysql_error());  
  7. $num=mysql_affected_rows();  
  8. if($num==0)  
  9. $msg=1;  
  10. else   
  11.     $msg=0;  
  12. echo $msg;//返回值  
  13. mysql_close($link);  
  14. ?><strong>  
  15. </strong>  
原创粉丝点击