台灣最大程式設計社群網站
線上人數
844
 
會員總數:244977
討論主題:188941
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 求救!!關於AJAX的問題?(不知道要發到哪裡的文>"<)
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
求救!!關於AJAX的問題?(不知道要發到哪裡的文>"<)
價值 : 50 QP  點閱數:1899 回應數:8

樓主

㊣文仔㊣
初學者
25 42
346 68
發送站內信

如題~
我學長給我一個作業是要能夠利用AJAX的技術~直接在註冊的頁面當焦點移動時可以進行判斷帳號是否重複
他給我的書寫的好複雜...有沒有人有比較簡易的方法可以告訴我或傳給我?

搜尋相關Tags的文章: [ AJAX ] ,
本篇文章發表於2007-04-18 23:42
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
請善用Google,再裡面就可以搜尋一堆了。
本篇文章回覆於2007-04-19 06:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

達子
捐贈 VP 給 達子 檢舉此回應
假設你的帳號欄位是 <input type="text" id="account" name="account" value="xxxx">
在欄位的最後加入這一段onblur="functionName();"就像這樣
<input type="text" id="account" name="account" value="xxxx" onblur="functionName();">
然後在javascript的function裡寫一段ajax去Query資料庫
假設sql query回傳>0 就表示有重覆
就alert一段文字請使用者再填其他帳號
ajax的寫法請用google搜尋ajax
第一頁就會有一堆不錯的網站可以去看
本篇文章回覆於2007-04-19 16:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

㊣文仔㊣
檢舉此回應
可是我看書上寫的都是在.js檔中在連到另一個php檔~
然後再做處理~再回傳~
可是我看不懂它是怎麼回傳的
function check(boxid,boxvalue)
{
if(xmlHttp)
{
if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
name = encodeURIComponent(document.main.id.value);
xmlHttp.open("GET","validate.php",true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
}
}

function handleRequestStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
test2 = xmlDocumentElement.firstChild.data;
document.getElementById("test").innerHTML = test2;
}
}
}
以上是寫在js檔中的程式碼片段
<?
header('Content-Type:text/xml');
$dom=new DOMDocument();
$response=$dom->create('response');
$dom->appendChild($response);
$responseText=$dom->createTextNode($result);
$xmlString=$dom->saveXML();
echo $xmlString;
?>
這是寫在php檔中的程式碼片段~

由誰可以解釋一下嗎?
感恩
本篇文章回覆於2007-04-29 00:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Super-Tomato
檢舉此回應
xmlHttp.onreadystatechange = handleRequestStateChange; //這裡指定狀態



function handleRequestStateChange()
{
if(xmlHttp.readyState == 4) // 4 代表完成
{
if(xmlHttp.status == 200)
{
xmlResponse = xmlHttp.responseXML; //這裡就是你要取得 PHP 所輸出的 XML
//接下來就把得到的資料依你的情況輸出到頁面
xmlDocumentElement = xmlResponse.documentElement;
test2 = xmlDocumentElement.firstChild.data;
document.getElementById("test").innerHTML = test2;
}
}
}
本篇文章回覆於2007-04-29 17:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

㊣文仔㊣
檢舉此回應
可是它讓xmlHttp.onreadystatechange = handleRequestStateChange
但handleRequestStateChange()又沒回傳值怎麼等於?
本篇文章回覆於2007-04-29 17:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

Super-Tomato
檢舉此回應
xmlHttp.onreadystatechange = handleRequestStateChange;

以上的寫法你應該誤會了, 其是原來是這樣的寫法

本篇文章回覆於2007-04-29 18:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Super-Tomato
檢舉此回應
onreadystatechange 是去觸發一個event, 就像你使用onKeyDown監聽鍵盤一樣.

readyState 可以知道目前這個event的處理狀態
status == 200 是代表資料已經完全被載入

最後就由你所定義的 xmlHttp 回傳XML/字串
本篇文章回覆於2007-04-29 18:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

達子
捐贈 VP 給 達子 檢舉此回應
如果還是不太懂
我建議你裝firefox+firebug
當你執行ajax的時候
它會告訴你傳出去什麼參數
傳回來什麼xml
蠻好用的一個工具
以上你提到看不太懂的地方
其實是xmlHttp物件的一個用法
而且用法也差不多就是上述的那樣
我覺得你不必一定要完全懂
先會用
過一陣子再回來看code
又會有不同的感覺
到時候你就會懂了
本篇文章回覆於2007-04-30 10:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.