Ciao a tutti ho un problema con AJAX utilizzando le jsp
Devo "popolare" una select provincie dopo aver scelto la regione da una prima select
ho provato una soluzione che utilizzavo cn php anni fà ma non mi funziona
Da segnalare che non sono alle prime armi con JSP e Servlet
Qualcuno sa darmi una buona Guida con AJAX e le JSP GRAZIE o aiutarmi?
GRAZIE
Posto un pò di codice
codice:
menu.jsp
<form method="POST" action="DelServlet">
<table border="0" cellspacing="25">
<tr><td>Regioni</td><td>
<select name="regioni" onchange="abilitaProvince();popola('getProvince.jsp',this.value)" >
<option>Scegli Regione...</option>
<%
String query = "SELECT * FROM REGIONI";
try {
ps = con.prepareStatement(query);
rs = ps.executeQuery();
con.commit();
while (rs.next()) {
out.print("<option value='"+rs.getString("REGIONI_ID")+"'>"+rs.getString("REGIONI_NAME")+"</option>");
}
} catch (SQLException e) {
System.out.println("errore: " + e.getMessage());
}
%>
</select></td></tr>
<tr><td>Provincie</td><td>
<select name="province" id="province" disabled="disabled">
<option>Scegli Provincia...</option>
</select></td></tr>
<tr><td></td><td><button type="reset">RESET</button></td><td><button type="submit">DELETE</button></td></tr>
</table>
</form>
codice:
javascript AJAX
function GetXmlHttpObject(handler)
{
var objXMLHttp=null;
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return objXMLHttp;
}
function popola(url,reg)
{
if (url.length==0)
{
document.getElementById("txtResult").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
url=url+"?"+reg;
url=url+"&sid="+Math.random();
alert(url);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
//alert("stateChanged");
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("province").innerHTML=xmlHttp.responseText;
//alert("qui");
}
else
{
// alert("Qui");
}
}
codice:
getProvince.jsp
<%@ page import="java.sql.*" %>
<%
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
String ID = (String) request.getAttribute("regioni");
String query = "SELECT * FROM PROVINCE WHERE REGIONI_ID='"+ID+"'";
try {
con = (Connection) request.getSession().getAttribute("connection");
ps = con.prepareStatement(query);
rs = ps.executeQuery();
//rs.next();
con.commit();
while (rs.next()) {
out.print("<option value='"+rs.getString("REGIONI_ID")+"'>"+rs.getString("REGIONI_NAME")+"</option>");
}
} catch (SQLException e) {
System.out.println("errore: " + e.getMessage());
}
%>
</body>
</html>