Soy muy nueva en Ajax pero ya he trabajado con JSP.
Estoy intentando hacer combos dependientes, o sea que cuando escoja un pais en un combobox(la lista de paises la traigo de una bd Firebird) me salga en el otro combobox los departamentos asociados a ese pais.
Ya sé que hay muchos post en este foro y en la web que hablan de eso pero la mayoría son PHP y no he podido adaptarlos al JSP.
Al principio lo tenía con un controlador y un JSP pero no funcionó, así que ahora lo tengo con dos JSP's.
Este es el primero(PruebaCombos.jsp)
Código PHP:
   <%@page import="Operaciones.*,Controlador.*,IglesiaCristianos.*,java.util.*"%>
 
<html>
<script language="JavaScript">
/*
 onclick="javascript:alert('Hola');"
*/
 
var req;
 
function Mostrar(){
  alert('esto es una prueba ¬¬');
}
 
function obtenerCiudadesDePais(){
 
   if (formulario.pais.options[ formulario.pais.selectedIndex ].value == "-------------"){
      alert('Seleccione una opci?n v?lida para el pais');
      return ;
   }
 
   if( window.XMLHttpRequest )
        req = new XMLHttpRequest(); // No Internet Explorer
    else
        req = new ActiveXObject("Microsoft.XMLHTTP");
 
   url = "info.jsp?pais="+encodeURIComponent(formulario.pais.options[formulario.pais.selectedIndex].value);
   req.onreadystatechange = procesadorRespuesta;
 
   req.open("POST", url , true);
   req.send(url);
 
function procesadorRespuesta(){
   if (req.readyState == 4){
      if (req.status==200){
        document.all.ciudad.innerHTML = req.responseText;
      }
   }
}
 
</script>
    <head><title>Combos</title></head>
    <body>
<form name="formulario">
    Escoja su país de origen:<br>
 
<%
OperacionIglesia op=new OperacionIglesia();
ArrayList<Pais> listap=op.getPaises();
%>
<select name="pais" id="pais" onChange="obtenerCiudadesDePais();">
<option>-------------</option>
  <%
    for(int i=0;i<listap.size();i++)
        {
        %>
        <option value=<%=listap.get(i).getCod_Pais()%>><%=listap.get(i).getNom_Pais()%></option>
        <%
        }
  %>
 
</select><br>
Escoja su ciudad<br>
<select name="ciudad">
 
</select>
 
</form>
</body>
</html> 
   Y este es el que debería devolver la respuesta al PruebaCombos.jsp, que se llama info.jsp
Código PHP:
   <%@page import="Operaciones.*,Controlador.*,IglesiaCristianos.*,java.util.*"%>
<%
String pais = request.getParameter("pais");
OperacionIglesia op=new OperacionIglesia();
ArrayList<Departamento> listac=op.getDptos(pais);
 
String info = "";
 
    for(int i=0;i<listac.size();i++)
        {
            info = "<option>"+listac.get(i).getNom_departamento()+"</option>";
        }
 
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write(info);
%> 
    Bueno ya he probado varias cosas y nada, tal vez estoy entendiendo mal la lógica de ajax...
Si alguno puede ayudarme lo aprecio mucho y gracias de antemano
 
 



