从网页前端输入提示范围内的字符,然后显示从后台返回的结果

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript">
function showHint(str)
{
var xmlhttp;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body> <h3>请在以下的输入框中键入字母(A - Z):</h3>
<form action="">
姓氏:<input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>建议:<span id="txtHint"></span></p> </body>
</html>

假设输入框为空 (str.length==0),则该函数清空 txtHint 占位符的内容,并退出函数。

假设输入框不为空,showHint() 函数运行下面任务:

  • 创建 XMLHttpRequest 对象
  • 当server响应就绪时运行函数
  • 把请求发送到server上的文件
  • 请注意我们向 URL 加入�了一个參数 q (带有输入框的内容)

php:

<?php
// 用名字来填充数组
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky"; //获得来自 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];
}
}
}
} // 假设未找到提示,则把输出设置为 "no suggestion"
// 否则设置为正确的值
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
} //输出响应
echo $response;
?>

效果

打包下载

最新文章

  1. .NET的Actor模型:Orleans
  2. OGRE 1.9 的第一个程序(OGRE HelloWorld程序)
  3. sql 编写横竖表转换
  4. Python基础4- 字符串
  5. html和css基础
  6. Leetcode 290 Word Pattern STL
  7. PLSQL_Oracle Logon Trigger的建立
  8. IOS中的UINavigationController(导航控制器)
  9. js代码 设为首页 加入收藏
  10. mac tips
  11. FE: Sass and Bootstrap 3 with Sass
  12. 坑爹JDK8,可怜的XP
  13. mosquitto MQTT message broker on ubuntu/debian built from source
  14. JAVA短信验证登录
  15. 基于 Hexo + GitHub Pages 搭建个人博客(一)
  16. Android简易实战教程--第四十二话《Spinner下拉级联效果》
  17. Android测试跑单个包脚本文件
  18. 转-在Mac OS上搭建Python的开发环境
  19. 从零搭建vue
  20. 隐藏C#的TabControl控件的选项卡TabPage

热门文章

  1. docker学习笔记1:docke环境的查看
  2. Bootstrap技术: 如何给nav导航组件的tab页增加关闭按钮以及动态的添加和关闭tab页
  3. Win32 Windows编程 十二
  4. 读TIJ -2 一切都是对象
  5. 在Qt中如何使用QtDesigner创建的UI文件
  6. Winform - 判断GroupBox控件中的TextBox文本框是不是为空
  7. nginx使用自认证的https证书
  8. 试解析Tomcat运行原理(一)--- socket通讯(转)
  9. jsp和serverlet的差别
  10. Filter和FilterChain具体的使用说明