java suggest_一分钟学会实现Suggest功能的AJAX样例 | 学步园
Ajax不是什么新鮮的技術(shù),微軟98年出的MSDN里面,就介紹了msxml,xmlhttpreuqest的遠(yuǎn)程讀取xml文檔的功能。只不過那個(gè)時(shí)候B/S技術(shù)遠(yuǎn)沒有今天這么熱,所以ajax被翻出來換了個(gè)好聽的名字重新炒作。
ajax的實(shí)現(xiàn)技術(shù)有很多。當(dāng)然我指的是封裝方式,這里我是用一種我認(rèn)為最合理的封裝的ajax框架:xajax
下面我們就看看如何通過簡(jiǎn)單的代碼完成一個(gè)google suggest一樣的應(yīng)用的。
1 首先,我們建立一個(gè)HTML,在里面拷貝。當(dāng)然這個(gè)代碼不需要你寫,只要拷貝就行
include_once("server1.server.php"); #servidor para XAJAX
$xajax->printJavascript(); //這個(gè)地方是關(guān)鍵,所以的函數(shù)在這里會(huì)自動(dòng)生成
?>
接著,我們?cè)趆tml里面建立
這里onkeydown的時(shí)候,我們根據(jù)用戶的輸入取得相應(yīng)的suggest
2 ejemplo2.js里面
var inter = null;
//這里調(diào)用php中的函數(shù)
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里面
//這個(gè)函數(shù)就是查詢suggest的函數(shù),這里我們用了一個(gè)數(shù)組,實(shí)際使用時(shí),這個(gè)數(shù)組是根據(jù)DB查詢得到的
function busc($bu){
if (($bu!="") || ($bu==" ")){
$objResponse = new xajaxResponse();
$cfdds = array("主機(jī)房","網(wǎng)絡(luò)辦公室","小機(jī)房","研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();
}
}
//最后注冊(cè)這個(gè)函數(shù)
$xajax = new xajax("server1.server.php","xajax_",false);
$xajax->registerFunction("busc");
這樣,suggest功能就可以實(shí)現(xiàn)了。你一定覺得很奇怪,既然是操作ajax,怎么既沒有調(diào)用xmlhttprequest也沒有解析xml,因?yàn)檫@些操作都被xajax封裝了。
其實(shí)我么操作ajax的目的就是 html->javascript->xmlhttprequest->php->xml->javascript->html
那現(xiàn)在我們只要html->javascript.......->php->......->......->html 其中三個(gè)地方被隱藏起來了。對(duì)用戶來說就非常簡(jiǎn)單了。
后面我還會(huì)演示如何擴(kuò)展xajax實(shí)現(xiàn),自動(dòng)讀取級(jí)聯(lián)的Select的樣例。
總結(jié)
以上是生活随笔為你收集整理的java suggest_一分钟学会实现Suggest功能的AJAX样例 | 学步园的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Indie 音乐类型扫盲
- 下一篇: 中国电信无线网服务器,中兴3G无线上网卡