Ajax

<%@ 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>Insert title here</title>
<script type="text/javascript">
	// 定义全局异步请求对象句柄
	var xmlHttpRequest;
 	// 根据不同浏览器创建不同的异步请求对象
	function createXMLHttpRequest() {
		if(window.XMLHttpRequest) { // 非IE异步起请求对象创建
			xmlHttpRequest = new XMLHttpRequest();
		} else if(window.ActiveXObject){ // IE异步请求对象的创建
			try {
				xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
		}
	}
 	
 	// 创建发送请求函数
 	function sendRequest() {
 		// 判断异步请求对象是否为空
 		if(xmlHttpRequest == null) {
 			createXMLHttpRequest(); // 调用创建异步请求对象的函数
 		}
 		// 发送请求得到响应后回调函数
 		xmlHttpRequest.onreadystatechange = function() {
 			// 判断响应状态为200 页面加载状态为4 才能处理响应结果
 			if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
 				//alert(xmlHttpRequest.responseText);
 				// 获取信息校验信息的标签
 				document.getElementById("msg").innerHTML=xmlHttpRequest.responseText;
 			}
 		};
 		// 获取文本框中输入的值
 		var typeName = document.getElementsByName("typeName")[0].value;
 		// 打开请求
 		var url = "checkTypeNameServlet?typeName="+typeName;
 		
 		xmlHttpRequest.open("get",encodeURI(url)); //默认为异步请求(false 为异步,true 为同步)
 		// 发送请求
 		xmlHttpRequest.send(null);
 	}
</script>
</head>
<body>
	<form action="checkTypeNameServlet" method="post">
		房间类型:<input name="typeName" onblur="sendRequest();" />
		<span id="msg" style="font-size:13px;"></span><br/>
		<input type="submit" value="提交" />
	</form>
</body>
</html>
<%@page import="com.hotel.entity.RoomType"%>
<%@page import="java.util.List"%>
<%@page import="com.hotel.dao.RoomTypeDao"%>
<%@ 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>Insert title here</title>
<script type="text/javascript">
	var xmlHttpRequest;
	// 创建异步请求对象的函数
	function createRequest() {
		if(window.XMLHttpRequest) { // 非IE
			xmlHttpRequest = new XMLHttpRequest();
		} else if(window.ActiveXObject) { //IE
			try {
				xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
	}
	
	// 创建发送请求对象的 函数
	function sendRequest() {
		if(xmlHttpRequest==null) {
			createRequest();
		}
		
		// 设置请求得到响应的回调函数
		xmlHttpRequest.onreadystatechange = function() {
			if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status == 200) {
				// 获取需要填充的下拉列表框
				var select = document.getElementById("roomId");
				// 清空下拉列表中的元素
				select.options.length = 0;
				// 创建一个请选择的选项
				var op = new Option("==请选择==","-1");
				select.options.add(op);
				// 获取服务端响应的字符串[a,b,bc,b,cf,]
				var content = xmlHttpRequest.responseText;
				var str = content.substring(0,content.length-1);
				// 将处理好的字符串转化为一个数组
				var params = str.split(",");
				
				// 循环为列表添加选项
				for(var i=0;i<params.length;i++) {
					var op1 = new Option(params[i],params[i]);
					select.options.add(op1);
				}
			}
		};
		
		// 获取选择的房间类型编号
		var roomType = document.getElementById("roomType").value;
		//打开请求
		xmlHttpRequest.open("GET","selectServlet?roomType="+roomType);
		// 发送请求
		xmlHttpRequest.send(null);
	}
</script>
</head>
<body>
	房间类型:
	<select name="roomType" id="roomType" onchange="sendRequest();">
		<option value="-1">==请选择==</option>
		<%
			// 直接调用查询所有房间类型信息的方法
			List<RoomType> types = new RoomTypeDao().getTypes();
			if(types!=null && types.size()>0) {
				for(RoomType type : types) {
		%>
		<option value="<%=type.getTypeID() %>"><%=type.getTypeName() %></option>
		<% }} %>
	</select>
	房间号:
	<select name="roomId" id="roomId">
	</select>
</body>
</html>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。