狠狠色丁香婷婷久久综合麻豆,国产99久久久久久免费看,与亲女洗澡时伦了视频,一面膜胸口一面膜下免费

PHP和AJAXLiveSearch-6.7PHP和AJAX

AJAX 可為用戶提供更友好、交互性更強的搜索體驗。

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務修水,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

AJAX Live Search

在下面的 AJAX 例子中,我們將演示一個實時的搜索。

實時的搜索與傳統(tǒng)搜索相比,具有很多優(yōu)勢:

當鍵入數(shù)據(jù)時,就會顯示出匹配的結果當繼續(xù)鍵入數(shù)據(jù)時,對結果進行過濾如果結果太少,刪除字符就可以獲得更寬的范圍
在下面的文本框中搜索 W3School 的頁面

本例包括四個元素:

簡單的 HTML 表單JavaScriptPHP 頁面XML 文檔

在本例中,結果在一個 XML 文檔 (links.xml) 中進行查找。為了讓這個例子小而簡單,我們只提供 8 個結果。

HTML 表單

這是 HTML 頁面。它包含一個簡單的 HTML 表單,針對此表單的 CSS 樣式,以及指向 JavaScript 的鏈接:

<html><head><script src="livesearch.js"></script> <style type="text/css"> #livesearch { margin:0px; width:194px; }#txt1 { margin:0px; } </style></head><body><form><input type="text" id="txt1" size="30"onkeyup="showResult(this.value)"><div id="livesearch"></div></form></body></html> 例子解釋 - HTML 表單

正如你看到的,HTML 頁面包含一個簡單的 HTML 表單,其中的文本框名為 "txt1"。

表單是這樣工作的:

當用戶在文本框中按鍵并松開按鍵時,會觸發(fā)一個事件當事件觸發(fā)時,會執(zhí)行名為 showResult() 的函數(shù)表單下面是名為 "livesearch" 的 <div> 元素。它用作 showResult() 所返回數(shù)據(jù)的占位符
JavaScript

JavaScript 代碼存儲在與 HTML 文檔連接的 "livesearch.js" 中:

var xmlHttpfunction showResult(str){if (str.length==0) { document.getElementById("livesearch"). innerHTML=""; document.getElementById("livesearch"). style.border="0px"; return }xmlHttp=GetXmlHttpObject()if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return }var url="livesearch.php"url=url+"?q="+strurl=url+"&sid="+Math.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)} function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("livesearch"). innerHTML=xmlHttp.responseText; document.getElementById("livesearch"). style.border="1px solid #A5ACB2"; } }function GetXmlHttpObject(){var xmlHttp=null;try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }return xmlHttp;} 例子解釋:

GetXmlHttpObject 與 PHP 和 AJAX 請求 中的例子相同。

showResult() 函數(shù)

該函數(shù)每當一個字符輸入文本框就會執(zhí)行一次。

如果文本域中沒有輸入 (str.length == 0),該函數(shù)把返回字段設置為空,并刪除周圍的任何邊框。

不過,如果文本域中存在輸入,則函數(shù)執(zhí)行:

定義發(fā)送到服務器的 url (文件名)把帶有輸入框內(nèi)容的參數(shù) (q) 添加到 url添加一個隨機數(shù),以防止服務器使用緩存文件調(diào)用 GetXmlHttpObject 函數(shù)來創(chuàng)建 XMLHTTP 對象,并在觸發(fā)一個變化時告知此函數(shù)執(zhí)行名為 stateChanged 的一個函數(shù)使用給定的 url 來打開 XMLHTTP 對象向服務器發(fā)送 HTTP 請求 stateChanged() 函數(shù)

每當 XMLHTTP 對象的狀態(tài)發(fā)生變化時,該函數(shù)就會執(zhí)行。

當狀態(tài)變?yōu)?4 (或 "complete") 時,就會使用響應文本來填充 txtHint 占位符的內(nèi)容,并在返回字段周圍設置一個邊框。

PHP 頁面

由 JavaScript 代碼調(diào)用的服務器頁面是名為 "livesearch.php" 的 PHP 文件。

"livesearch.php" 中的代碼檢查那個 XML 文檔 "links.xml"。該文檔 w3school.com.cn 上的一些頁面的標題和 URL。

這些代碼會搜索 XML 文件中匹配搜索字符串的標題,并以 HTML 返回結果:

<?php$xmlDoc = new DOMDocument();$xmlDoc->load("links.xml");$x=$xmlDoc->getElementsByTagName('link');//get the q parameter from URL$q=$_GET["q"];//lookup all links from the xml file if length of q>0if (strlen($q) > 0){$hint="";for($i=0; $i<($x->length); $i++) { $y=$x->item($i)->getElementsByTagName('title'); $z=$x->item($i)->getElementsByTagName('url'); if ($y->item(0)->nodeType==1) { //find a link matching the search text if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) { if ($hint=="") { $hint="<a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } else { $hint=$hint . "<br /><a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } } } }}// Set output to "no suggestion" if no hint were found// or to the correct valuesif ($hint == "") { $response="no suggestion"; }else { $response=$hint; } //output the responseecho $response;?> 例子解釋:

如果從 JavaScript 送來了任何文本 (strlen($q) > 0),會發(fā)生:

PHP 創(chuàng)建 "links.xml" 文件的一個 XML DOM 對象遍歷所有 "title" 元素 (nodetypes = 1),以便找到匹配 JavaScript 所傳數(shù)據(jù)的 name找到包含正確 title 的 link,并設置為 "$response" 變量。如果找到多于一個匹配,所有的匹配都會添加到變量如果沒有找到匹配,則把 $response 變量設置為 "no suggestion"$result 是送往 "livesearch" 占位符的輸出

本文名稱:PHP和AJAXLiveSearch-6.7PHP和AJAX
文章源于:http://www.hntjjpw.com/article33/dghhoss.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計品牌網(wǎng)站建設面包屑導航服務器托管小程序開發(fā)虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
主站蜘蛛池模板: 宝鸡市| 竹北市| 长沙县| 四川省| 黔西| 绩溪县| 克拉玛依市| 乌鲁木齐市| 武穴市| 定边县| 上高县| 宁南县| 和硕县| 靖宇县| 自贡市| 康马县| 耿马| 南漳县| 松潘县| 于田县| 霍林郭勒市| 祁阳县| 广安市| 修文县| 津南区| 承德市| 保定市| 迁西县| 博野县| 定边县| 罗田县| 方正县| 阳泉市| 新晃| 黄大仙区| 广西| 会东县| 丹江口市| 郁南县| 内乡县| 苍山县|