一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

PHP and AJAX 仿 Live与google 搜索框

时间:2008-11-18 编辑:简简单单 来源:一聚教程网

PHP and AJAX 仿 Live与google 搜索框

AJAX的Live搜索
在AJAX以下例子,我们将表现出生活的搜索,那里的服务器获得搜索结果,同时用户类型。

Live搜索有许多好处,相比传统的搜索:

匹配结果表明您键入
结果狭隘你继续输入
如果结果变得过于狭窄,删除字符看到一个更广泛的结果

这个例子包含了四个网页:

一个简单的HTML表单
一个JavaScript
一个PHP网页
XML文件
在这个例子中,结果发现在一个XML文件( links.xml ) 。为了使这个例子小和简单,只有8个可用的结果。


-------------------------------------------------- ------------------------------

在HTML表单
这是HTML网页。它包含一个简单的HTML形式,风格的表格,并链接到一个JavaScript :

例如解释-的H TML表单
正如你可以看到, HTML网页上面载有一个简单的HTML表单的输入外地所谓“ txt1 ” 。

作品的形式像这样:

事件触发当使用者按下,并发布了关键领域的投入
当事件触发的功能要求showResult ( )被处决。
下面的形式是一个

所谓的“ livesearch ” 。这是作为一个占位符返回的数据showResult ( )函数。

-------------------------------------------------- ------------------------------

的JavaScript
JavaScript代码是储存在“ livesearch.js ”和相关的HTML文件:

var xmlHttp
function 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="+str
url=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;
}
后面的php程序我们只要返回数据就行了这里不多写了以后我们本站写了很多相关的文章.

热门栏目