我初学了Ajax,自己做了个下拉菜单关联的,也不知道为什么,我的就是不显示,我把程序看了好几遍,琢磨了很长时间,都不凑效,还希望某位大哥给我指点下:
我的首页index.jsp
[code="java"]
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<br> var req ;<br> function createXMLHttpRequest(){<br><br> if(window.ActiveXObject){<br> req = new ActiveXObject("Microsoft.XMLHttp") ;<br> }<br> else if(window.XMLHttpRequest){<br> req = new XMLHttpRequest() ;<br> }<br> }<br> function test2(){<br> alert("进入了") ;<br> createXMLHttpRequest() ;<br> if(req){<br> var province = document.all("province").value ;<br> req.onreadystatechange = callback ;<br> req.open("get","c.jsp?province="+province,false) ;<br> req.send(null) ;<br> }<br> }</p> <pre><code> function callback(){ if(req.readyState == 4){ if(req.status == 200){ var message = req.responseText ; var obj = document.all("city") ; for(var i=obj.options.length-1;i>=0;i--){ obj.options.remove(i) ; } var ops = message.split("|") ; for(var i=0;i<ops.length;i++){ var op = ops[i] ; var ss = op.split(",") ; var oOption = document.createElement("OPTION"); obj.options.add(oOption); oOption.innerText = ss[1]; oOption.Value = ss[0]; } } } </code></pre> <p>
用户注册
用户省份:
bj
sh
sd
用户城市:
hd
pd
ln
[/code]
下面是服务器处理页c.jsp
[code="java"]
<%@ 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">
Insert title here
<%
String province = request.getParameter("province") ;
if(province != null && "bj".equals(province)){
out.println("hd,hdq|cy,cyq") ;
}else if(province != null && "sh".equals(province)){
out.println("pd,pdq|xh,xhq|hp,hpq") ;
}
else if(province != null && "sd".equals(province)){
out.println("qd,qdq|yt,ytq") ;
}
%>
[/code]
希望某位大哥指点下,谢谢了!