Demo02实例----简单的查询器
实例运行后的初始界面:
在文本框中输入姓氏“杜”,出现如下结果:
Demo02.php文件内容:
<html> <meta http-equiv="content-type" charset="utf-8"/> <head> <script type="text/javascript"> /* 以下代码大家应该可以看得懂,不懂的话请参照第一讲! */ //显示出对应的提示内容,传入一个参数,它代表查找的关键字 function showHint(str) { var xmlhttp; if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } //向Demo02.php传递一个变量q xmlhttp.open("GET","./Demo02.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <div id="all"> </div> <h3>请在下面的输入框中键入九骥网维工作室的成员姓氏(杜,郑,周,邱等等):</h3> <form action=""> <!--onkeyup是一个按键激发事件,按下键盘上的按键会执行对应的函数--> 姓氏:<input type="text" id="txt1" onKeyUp="showHint(this.value);"/> </form> <p>提示:<span id="txtHint"></span></p> </body> </html>
Demo02.php文件的内容:
<?php //用名字来填充数组,用于检索 $a[]="杜森"; $a[]="邱阳阳"; $a[]="杜秋意"; $a[]="费艳婷"; $a[]="刘欢"; $a[]="费世明"; $a[]="董珍珍"; $a[]="吴明坤"; $a[]="阿伊鲜"; $a[]="罗沛"; $a[]="周凯"; $a[]="郑周林"; $a[]="梁文生"; $a[]="徐哲靖"; $a[]="周天天"; $a[]="张萌乐2"; $a[]="杨敏2"; $a[]="王曾1"; $a[]="杜森2"; $a[]="邱阳阳3"; $a[]="杜秋意2"; $a[]="费艳婷2"; $a[]="刘欢4"; $a[]="费世明3"; $a[]="董珍珍2"; $a[]="吴明坤1"; $a[]="阿伊鲜6"; $a[]="罗沛5"; $a[]="周凯4"; $a[]="郑周林3"; $a[]="梁文生"; $a[]="徐哲靖2"; $a[]="周天天2"; $a[]="张萌乐5"; $a[]="杨敏2"; $a[]="王曾2"; //获得来自 URL 的 q 参数 $q=$_GET["q"]; //如果 q 大于 0,则查找数组中的所有提示 if (strlen($q) > 0) { $hint=""; //遍历数组 for($i=0; $i<count($a); $i++) { //判断当前输入的内容与所有的内容是否符合 if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } // 如果未找到提示,则把输出设置为 "未找到"+传过来的值 // 否则设置为正确的值 if ($hint == "") { $response="未找到".$q; } else { $response=$hint; } //输出响应 echo $response; ?>