Ciao grazie della risposta,
mi blocco quando, dopo aver selezionato la regione ed ottenuto il filtro sulla combo della provincia, seleziono la provincia.
La selezione non mi da alcun risultato, non riesco a filtrare da provincia a comune.
Ti posto il codice come ho provato a modificarlo.
Lo script aggiunto è:
comuni.asp
Gli script modificati sono
form.asp
italia.js
FORM.ASP
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Call CnOpen()
%>
<html>
<head>
<title>Selezione di Regioni e Province con ASP ed AJAX</title>
<script type="text/javascript" src="italia.js"></script>
</head>
<body>
<form name="italia">
<select name="regioni" onchange="Province(this.value)">
<option value="0"></option>
<%
Dim SQL
SQL = "SELECT * FROM regioni ORDER BY reg_nome ASC"
rs.Open SQL, cn, 1
While rs.EOF = False
%>
<option value="<%=rs("reg_id")%>"><%=rs("reg_nome")%></option>
<%
rs.MoveNext
Wend
rs.Close
%>
</select>
<br><br>
<div id="risultati">
<select name="province" onchange="Comuni(this.value)">
<option value="0"></option>
<%
Dim SQL1
SQL1 = "SELECT * FROM province ORDER BY pro_nome ASC"
rs.Open SQL1, cn, 1
While rs.EOF = False
%>
<option value="<%=rs("pro_id")%>"><%=rs("pro_nome")%></option>
<%
rs.MoveNext
Wend
rs.Close
%>
</select>
<select name="comuni" >
<option value="0"></option>
<%
Dim SQL2
SQL2 = "SELECT * FROM comuni ORDER BY com_nome ASC"
rs.Open SQL2, cn, 1
While rs.EOF = False
%>
<option value="<%=rs("com_id")%>"><%=rs("com_nome")%></option>
<%
rs.MoveNext
Wend
rs.Close
%>
</select>
</div>
</form>
</body>
</html>
<%
Call CnClose()
%>
ITALIA.JS
var XMLHTTP;
function Province(ID)
{
if (parseInt(ID) > 0)
{
var url = "province.asp?id=" + ID;
XMLHTTP = RicavaBrowser(CambioStato);
XMLHTTP.open("GET", url, true);
XMLHTTP.send(null);
}
else
{
document.getElementById("risultati").innerHTML = "";
}
}
function Comuni(ID)
{
if (parseInt(ID) > 0)
{
var url = "comuni.asp?id=" + ID;
XMLHTTP = RicavaBrowser(CambioStato);
XMLHTTP.open("GET", url, true);
XMLHTTP.send(null);
}
else
{
document.getElementById("risultati").innerHTML = "";
}
}
function CambioStato()
{
if (XMLHTTP.readyState == 4)
{
var R = document.getElementById("risultati");
R.innerHTML = XMLHTTP.responseText;
}
}
function RicavaBrowser(QualeBrowser)
{
if (navigator.userAgent.indexOf("MSIE") != (-1))
{
var Classe = "Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
{
Classe = "Microsoft.XMLHTTP";
}
try
{
OggettoXMLHTTP = new ActiveXObject(Classe);
OggettoXMLHTTP.onreadystatechange = QualeBrowser;
return OggettoXMLHTTP;
}
catch(e)
{
alert("Errore: l'ActiveX non verrà eseguito!");
}
}
else if (navigator.userAgent.indexOf("Mozilla") != (-1))
{
OggettoXMLHTTP = new XMLHttpRequest();
OggettoXMLHTTP.onload = QualeBrowser;
OggettoXMLHTTP.onerror = QualeBrowser;
return OggettoXMLHTTP;
}
else
{
alert("L'esempio non funziona con altri browser!");
}
}
PROVINCE.ASP
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim id
id = Request.QueryString("id")
If IsNumeric(id) = False Or id < 1 Then
Response.Write "Selezionare una regione valida!"
Response.End
End If
Call CnOpen()
Dim SQL
SQL = "SELECT * FROM province "
SQL = SQL & "WHERE pro_regione = " & id & " "
SQL = SQL & "ORDER BY pro_nome ASC"
rs.Open SQL, cn, 1
If rs.EOF Then
Response.Write "Selezionare una regione valida!"
Else
%>
<select name="regioni">
<option value="0"></option>
<%
While rs.EOF = False
%>
<option value="<%=rs("pro_id")%>"><%=rs("pro_nome")%></option>
<%
rs.MoveNext
Wend
%>
</select>
<%
End If
rs.Close
Call CnClose()
%>
COMUNI.ASP
<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim id
id = Request.QueryString("id")
If IsNumeric(id) = False Or id < 1 Then
Response.Write "Selezionare una provincia valida!"
Response.End
End If
Call CnOpen()
Dim SQL
SQL = "SELECT * FROM comuni "
SQL = SQL & "WHERE com_provincia = " & id & " "
SQL = SQL & "ORDER BY com_nome ASC"
'Response.Write sql
'Response.end
rs.Open SQL, cn, 1
If rs.EOF Then
Response.Write "Selezionare una provincia valida!"
Else
%>
<select name="province">
<option value="0"></option>
<%
While rs.EOF = False
%>
<option value="<%=rs("com_id")%>"><%=rs("com_nome")%></option>
<%
rs.MoveNext
Wend
%>
</select>
<%
End If
rs.Close
Call CnClose()
%>
Grazie in anticipo