Ajax

  • Post author:
  • Post category:其他



输入字母自动提示补全:

<!DOCTYPE html>
<html>
<head>
	<title>AJAX</title>
	<meta charset="utf-8">
	<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.js"></script>
	<script type="text/javascript">
		function showHint(str) {
			var xmlhttp;
			// 判断输入的内容为空
			if (str.length==0) {
				document.getElementById('txtHint').innerHTML='';
				//直接退出整个函数。
				return;
			}
			// 检查是否可用XMLHttpRequest对象
			if (window.XMLHttpRequest) {
				//IE7+,firefox,chrome,opera,safari浏览器执行代码
				xmlhttp=new XMLHttpRequest();
			} 
			else {
				//IE6,IE5执行代码
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			//等待对象状态(readyState)发生变化(有4种变化 0-1、1-2、2-3、3-4)
			xmlhttp.onreadystatechange=function(){
				/*
				readyState状态:
					0: 请求未初始化
					1: 服务器连接已建立
					2: 请求已接收
					3: 请求处理中
					4: 请求已完成,且响应已就绪
				*/
				//服务器状态码status=200:服务器响应正常。
				if (xmlhttp.readyState==4 && xmlhttp.status==200) {
					document.getElementById('txtHint').innerHTML=xmlhttp.responseText;
				}
			}
			//创建请求,open(获取方式,文件所处文职,是否异步相应)
			xmlhttp.open("GET","ajax.php?q="+str,true);
			//发送请求到服务器
			xmlhttp.send();
		}
	</script>
</head>
<body>
	<h2>输入字母有自动补全提示:</h2>
	<form action="">
		输入名字:<input type="text" id="txt1" onkeyup="showHint(this.value)">
	</form>
	<p>提示信息:<span id="txtHint"></span></p>

</body>
</html>

上述内容包含一个php文件,为:(由于还没学习到php,暂时不会)

<?php
// Fill up array with names
$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";

//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of 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];
      }
    }
  }
}

// Set output to "no suggestion" if no hint were found
// or to the correct values
if ($hint == "")
{
  $response="no suggestion";
}
else
{
  $response=$hint;
}

//output the response
echo $response;

转载于:https://my.oschina.net/u/3384982/blog/1802428