註冊即時驗證詳解(ajax,jquery)

來源:互聯網
上載者:User

當我們註冊一個使用者時,會即時提示該使用者的資訊是否可用,這就是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);  });

下面貼上My Code:

<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" onsubmit="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);?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.