点击下拉列框的一个值,比如下拉列表中从user(name,password)表中显示所有的name,
当选择一个名字时,怎样在旁别的text里从数据库里读取这个名字的密码,并显示在text里

解决方案 »

  1.   

    密码是换存在页面的js中了还是在数据库里?前者简单,但是用户可以通过源码看见。后者保密性好,但是比较麻烦,需要动态刷新。Ajax。
      

  2.   

    <%
      String username=request.getParameter("name");
      String password="";  if(username!=null && "".equals(username)){  
        String sql="select password from userinfo where username='"+username+"'";    //根据上面的SQL语句到数据库查询出密码
        ......
      
        if(rs.next()){
          password=rs.getString("password");
        }else{
          out.println("用户名不存在!");
        }
      }
    %>
    <form name="frm" action="">
      <select name="name">
        <option value="zhangsan" selected>zhangsan
        <option value="lisi">lisi
        <option value="zhaoliu">wangwu
      </select>
      <input type="text" name="password" value="<%=password%>">
    </form><script>
      var obj=document.forms[0].name;
      var username="<%=username%>";
      for(var i=0;i<obj.options.length;i++){
        var value=obj.options[i].value;
        if(value==username){
          obj.options[i].selected=true;
        }
      }
      
      function submit(){
        document.forms[0].submit();
      }
    </script>
      

  3.   

    用Ajax,比较简单的,不过注意性能问题.最好是下拉列表发生改变时,使其不可用,待到数据回来后再使其可用.
      

  4.   

    汗...丢了调用
      <select name="name" onChange="submit();">
        <option value="zhangsan" selected>zhangsan
        <option value="lisi">lisi
        <option value="zhaoliu">wangwu
      </select>AJAX是好方法,代码太长我就不写了,可以参考一下这个下拉联动的文章,里边有AJAX代码:
    http://blog.csdn.net/lip009/archive/2006/09/11/1208343.aspx