Hello to all
I'm trying to modify a script ajax / asp that I found on the net, but I have some difficulty with ajax.
Essentially these are three select concatenate (originally 2) Regions, provinces and municipalities.
I can not filter from province to municipality.
The scripts are:
form.asp (contiene config.asp e italia.js)
config.asp (file di connessione)
italia.js (richiama gli script province e comuni)
province.asp
comuni.asp
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()
%>
I think the problem is in ajax.
Can you help me?
I'm trying to modify a script ajax / asp that I found on the net, but I have some difficulty with ajax.
Essentially these are three select concatenate (originally 2) Regions, provinces and municipalities.
I can not filter from province to municipality.
The scripts are:
form.asp (contiene config.asp e italia.js)
config.asp (file di connessione)
italia.js (richiama gli script province e comuni)
province.asp
comuni.asp
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()
%>
I think the problem is in ajax.
Can you help me?
Comment