<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ajax实现自动完成</title>
<!-- css样式 -->
<style type="text/css">
#div{
margin-left: 225px;
}
</style>
<script type="text/javascript" src="js/getXhr.js"></script>
<script type="text/javascript">
window.onload=function(){
$('text').onkeydown=function(){
//获取xhr
var xhr = getXhr();
var msg = $('text');
xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");
//建立连接,发送数据
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
if(xhr.status==200){
//将结果转换成数组
var arr = eval("("+xhr.responseText+")");
var div = $('div');
//将后台返回的结果写到div里面去
for(var i=0;i<arr.length;i++){
var child = document.createElement("div");
div.appendChild(child);
child.innerHTML=arr[i].message;
}
}
}
}
xhr.send(null);
}
}
/*
* 当失去焦点时,将div里面的值清空掉
*/
function loseFocus(){
$('div').innerHTML="";
}
</script>
</head>
<body>
使用ajax技术实现自动完成功能<input type="text" id="text" onblur="loseFocus()" /><br />
<div id="div"></div>
</body>
</html>
第一次text肯定没值啊。。你要判断有值了才发送ajax请求
$('text').onkeydown=function(){
//获取xhr
var xhr = getXhr();
var msg = $('text');
if(msg.value=='')return;////////////////
xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");