用ajax啊,留下mail,给你例子

解决方案 »

  1.   

    ajax是什么?--我还没有用过啊我的email:[email protected]   先谢谢了
      

  2.   

    我贴出来算了,不过那样要自己部署servlet
    html代码:html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>MyHtml.html</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page"><!--<link rel="stylesheet" type="text/css" href="./styles.css">--></head>
    <script type="text/javascript">
    function getResult(stateVal) {
            var url = "servlet/SelectCityServlet?state="+stateVal; 
            if (window.XMLHttpRequest) { 
                    req = new XMLHttpRequest(); 
            }else if (window.ActiveXObject) { 
                    req = new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
            if(req){ 
                    req.open("GET",url, true); 
                    req.onreadystatechange = complete; 
                    req.send(null); 
            } 

    function complete(){
            if (req.readyState == 4) { 
                    if (req.status == 200) { 
                            var city = req.responseXML.getElementsByTagName("city"); 
                            alert(city.length);
                            var str=new Array();
                            for(var i=0;i<city.length;i++){
                                    str[i]=city[i].firstChild.data;
                            }
                            alert(document.getElementById("city"));
                            buildSelect(str,document.getElementById("city"));
                    }
            }
    }
    function buildSelect(str,sel) {
            sel.options.length=0;
            for(var i=0;i<str.length;i++) {
                    sel.options[sel.options.length]=new Option(str[i],str[i])
            }
    }
    function test(){
            alert("test");
    }
    </script>
    <body>
    不变的静止内容
    <BR />
    <BR />
    <select name="state" onChange="getResult(this.value)">
    <option value="">请选择</option>
    <option value="zj">浙江</option>
    <option value="zs">江苏</option>
    </select>
    <select id="city"></select>
    <BR />
    <BR />
    不用重新刷新
    </body>
    </html>
      

  3.   

    Servlet代码:package com.stephen.servlet;import java.io.IOException;
    import java.io.PrintWriter;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;/**
     * @author stephen
     * 
     * TODO To change the template for this generated type comment go to Window -
     * Preferences - Java - Code Style - Code Templates
     */
    public class SelectCityServlet extends HttpServlet { public SelectCityServlet() {
    super();
    } public void destroy() {
    super.destroy();
    } public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    response.setHeader("Cache-Control", "no-cache");
    String state = request.getParameter("state");
    StringBuffer sb = new StringBuffer("<state>");
    if ("zj".equals(state)) {
    sb.append("<city>杭州</city><city>湖州</city>");
    } else if ("zs".equals(state)) {
    sb.append("<city>南京</city><city>扬州</city><city>苏州</city>");
    }
    sb.append("</state>");
    PrintWriter out = response.getWriter();
    out.write(sb.toString());
    out.close();
    }}我这个servlet数据是写死的,你可以从数据库取了写灵活的,自己部署一个小项目可以看看结果
      

  4.   

    不行啊,servlet类编译后,然后运行,没有反应啊!
    我改动的唯一地方就是将var url = "servlet/SelectCityServlet?state="+stateVal; 改为了
    var url = "com/servlet/SelectCityServlet?state="+stateVal; //com为我编译的路径
      

  5.   

    晕,servlet要配置在web服务器下的啊,又不是javac编译了就能跑的
      

  6.   

    算了,我还是压个rar给你吧,解压后放到tomcat/webapps下面,跑起来看
      

  7.   

    樓上的給我一份rar吧,mail:[email protected]
    最好能放到哪可以下載。因為公司不能收外部mail.
      

  8.   

    mail已发,内容是个eclipse做的项目,导进去部署一下就可以了
      

  9.   

    to li_d_s(我是小鬼-日货?送我都不要,哪怕是丰田和日产的轿车!) 
    我没有收到附件啊,是不是附件很大?--我给你写了回信
      

  10.   

    你是我的恩人!!!请也我一份rar
    [email protected]