java suggest_一分钟学会实现Suggest功能的AJAX样例 | 学步园
Ajax不是什么新鮮的技術,微軟98年出的MSDN里面,就介紹了msxml,xmlhttpreuqest的遠程讀取xml文檔的功能。只不過那個時候B/S技術遠沒有今天這么熱,所以ajax被翻出來換了個好聽的名字重新炒作。
ajax的實現技術有很多。當然我指的是封裝方式,這里我是用一種我認為最合理的封裝的ajax框架:xajax
下面我們就看看如何通過簡單的代碼完成一個google suggest一樣的應用的。
1 首先,我們建立一個HTML,在里面拷貝。當然這個代碼不需要你寫,只要拷貝就行
include_once("server1.server.php"); #servidor para XAJAX
$xajax->printJavascript(); //這個地方是關鍵,所以的函數在這里會自動生成
?>
接著,我們在html里面建立
這里onkeydown的時候,我們根據用戶的輸入取得相應的suggest
2 ejemplo2.js里面
var inter = null;
//這里調用php中的函數
function buscar(){
if (inter) clearInterval(inter);
inter= setInterval("xajax_busc(document.getElementById('cfdd').value);clearInterval(inter);",300);
gsc_show(document.getElementById('search-results'));
}
function gsc_show(elt)
{
if (elt) elt.style.display = 'block';
}
function gsc_hide(elt)
{
if (elt) elt.style.display = 'none';
}
3 server1.server.php里面
//這個函數就是查詢suggest的函數,這里我們用了一個數組,實際使用時,這個數組是根據DB查詢得到的
function busc($bu){
if (($bu!="") || ($bu==" ")){
$objResponse = new xajaxResponse();
$cfdds = array("主機房","網絡辦公室","小機房","研20棟");
$sa="";
foreach ($cfdds as $cfdd) {
$sa.="
." οnclick=/"javascript:document.getElementById('cfdd').value='$cfdd';gsc_hide(document.getElementById('search-results'));/" "
.">$cfdd
";}
$objResponse->addAssign("search-results","innerHTML",$sa);
return $objResponse->getXML();
}
else{
$objResponse = new xajaxResponse();
$objResponse->addAssign("search-results","innerHTML","");
return $objResponse->getXML();
}
}
//最后注冊這個函數
$xajax = new xajax("server1.server.php","xajax_",false);
$xajax->registerFunction("busc");
這樣,suggest功能就可以實現了。你一定覺得很奇怪,既然是操作ajax,怎么既沒有調用xmlhttprequest也沒有解析xml,因為這些操作都被xajax封裝了。
其實我么操作ajax的目的就是 html->javascript->xmlhttprequest->php->xml->javascript->html
那現在我們只要html->javascript.......->php->......->......->html 其中三個地方被隱藏起來了。對用戶來說就非常簡單了。
后面我還會演示如何擴展xajax實現,自動讀取級聯的Select的樣例。
總結
以上是生活随笔為你收集整理的java suggest_一分钟学会实现Suggest功能的AJAX样例 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Indie 音乐类型扫盲
- 下一篇: 中国电信无线网服务器,中兴3G无线上网卡