首頁  >  文章  >  web前端  >  jquery ajax實作註冊即時驗證實例詳解_jquery

jquery ajax實作註冊即時驗證實例詳解_jquery

WBOY
WBOY原創
2016-05-16 15:26:551332瀏覽

本文實例講述了jquery ajax實現註冊即時驗證。分享給大家參考,具體如下:

當我們註冊一個用戶時,會即時提示該用戶的資訊是否可用,這就是ajax的應用,很久以前就看過這個實現了,今天又看了一遍,給記錄下來O(∩_∩) O哈!

先介紹下ajax中$.get,由於$.post用法和$.get大同小異就不再介紹了:

這是一個簡單的 GET 請求功能以取代複雜 $.ajax 。請求成功時可呼叫回調函數。如果需要在出錯時執行函數,請使用 $.ajax。

複製程式碼 程式碼如下:
$(selector).get(url,data,success(response,status,x>$(selector).get(url,data,success(reshrponse,status,x ),dataType)

パラメータ 説明
URL 必須。リクエストの送信先となる URL を指定します。
データ オプション。リクエストとともにサーバーに送信されるデータを指定します。
成功(応答、ステータス、xhr)

オプション。リクエストが成功したときに実行する関数を指定します。

追加パラメータ:

  • レスポンス - リクエストからの結果データが含まれます
  • status - リクエストのステータスが含まれます
  • xhr - XMLHttpRequest オブジェクトが含まれます
データタイプ

オプション。予想されるサーバー応答のデータ型を指定します。

デフォルトでは、jQuery は賢明な決定を下します。

可能なタイプ:

  • 「xml」
  • "html"
  • 「テキスト」
  • 「スクリプト」
  • 「json」
  • 「jsonp」
test.php Web ページをリクエストし、戻り値を無視します:
コードをコピー コードは次のとおりです。
$.get("test.php");

その他の例:

例 1

test.php Web ページをリクエストし、2 つのパラメータを送信し、戻り値を無視します:

コードをコピー コードは次のとおりです。
$.get("test.php", { name : "ジョン "、時刻: "午後 2 時" } );

例 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" 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:

<&#63;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);
&#63;>

この記事が jQuery プログラミングのすべての人に役立つことを願っています。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn