Buonasera!
Ho cercato di usare questo script: http://script-asp.blogspot.com/2009/...-popolare.html
per una procedura di iscrizione in ASP 3.0 sul mio sito.
Ho caricato il database Access e fatto una prova con le pagine dello scipt. Funziona correttamente.
Poi ho provato a integrare tale script nella mia pagina di iscrizione:
codice:
<title>Progetto</title>
<script type="text/javascript" language="javascript">
var estrai_province;
var id_regione
function cerca_province()
{
id_regione=document.form.id_regione.options[document.form.id_regione.selectedIndex].value
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
estrai_province= new XMLHttpRequest();
estrai_province.onreadystatechange = ricevi_province;
estrai_province.open("GET", "estrai-province.asp?id_regione="+id_regione, true);
estrai_province.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
estrai_province= new ActiveXObject("Microsoft.XMLHTTP");
if (estrai_province) {
estrai_province.onreadystatechange = ricevi_province;
estrai_province.open("GET", "estrai-province.asp?id_regione="+id_regione, true);
estrai_province.send();
}
}
}
function ricevi_province() {
var province;
if (estrai_province.readyState == 4) {
province=estrai_province.responseText;
document.getElementById('provincia').innerHTML = province;
}
}
var estrai_comuni;
var id_provincia
function cerca_comuni()
{
id_provincia=document.form.id_provincia.options[document.form.id_provincia.selectedIndex].value
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
estrai_comuni= new XMLHttpRequest();
estrai_comuni.onreadystatechange = ricevi_comuni;
estrai_comuni.open("GET", "estrai-comuni.asp?id_provincia="+id_provincia, true);
estrai_comuni.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
estrai_comuni= new ActiveXObject("Microsoft.XMLHTTP");
if (estrai_comuni) {
estrai_comuni.onreadystatechange = ricevi_comuni;
estrai_comuni.open("GET", "estrai-comuni.asp?id_provincia="+id_provincia, true);
estrai_comuni.send();
}
}
}
function ricevi_comuni() {
var comuni;
if (estrai_comuni.readyState == 4) {
comuni=estrai_comuni.responseText;
document.getElementById('comuni').innerHTML = comuni;
}
}
</script>
</head>
<body>
<div class="centro">
<% If request.querystring("mod")=1 then
nome = request.form("nome")
cognome = request.form("cognome")
psw1 = request.form("psw1")
psw2 = request.form("psw2")
mail = request.form("mail")
mail2 = request.form("mail2")
acc = request.form("acc")
if trim(cognome) = "" then
response.write "Non hai scritto il tuo cognome."
response.end
elseif trim(mail)<>trim(mail2) then
response.write "I due indirizzi e-mail non coincidono."
response.end
elseif trim(psw1) = "" then
response.write "Non hai inserito la password."
response.end
elseif trim(psw1)<>trim(psw2) then
response.write "Le due password non funzionano."
response.end
end if
%><form id="form1" name="form1" method="post" action="rec4.asp?mod=1">
<span class="login">
<input type="hidden" name="nome" value="<%=nome%>" />
<input type="hidden" name="mail" value="<%=mail%>" />
<input name="acc" type="hidden" id="acc" value="<%=acc%>" />
<input name="psw" type="hidden" value="<%=psw1%>" />
<input name="cognome" type="hidden" id="acc2" value="<%=cognome%>" />
</span>
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="welcome2">Registrazione - Fase 3</div></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td valign="top"><div class="login">
Grazie per la tua pazienza, questo è l'ultimo passaggio.
</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35%" valign="top">
Nazione : Italia</p>
<table height="171">
<%nome_form="form"%>
<tr>
<td>Regione</td>
<td><select name="id_regione" id="id_regione" onchange="cerca_province();">
<option value="0">Seleziona Regione</option>
<%
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("../../mdb-database/Regioni-Province-Comuni-Italia.mdb")
SQL = "Select * From regioni order by regione asc"
Set RS = MyConn.Execute(SQL)
While Not RS.EOF
%>
<option value="<%=rs("id_regione")%>"><%=rs("regione")%></option>
<%
RS.MoveNext
Wend
RS.Close
Set RS = Nothing
MyConn.Close
Set MyConn = Nothing
%>
</select></td>
</tr>
<tr>
<td>Provincia</td>
<td id="provincia"></td>
</tr>
<tr>
<td>Comune</td>
<td id="comuni"></td>
</tr>
</table></td>
<td width="65%" valign="top"><div class="login">Ruolo principale :
<label for="tipo"></label>
<select name="tipo" id="tipo">
<option value="0" selected="selected">Seleziona</option>
<option value="1">Semplice spettatore</option>
<option value="2">Attore/Attrice</option>
<option value="3">Regista</option>
<option value="4">Produttore</option>
<option value="5">Produttore esecutivo</option>
<option value="6">Direttore della fotografia</option>
<option value="7">Fonico</option>
<option value="8">Montatore</option>
<option value="9">Post-produzione</option>
</select>
Recapito telefonico (cellulare o fisso) :
<input name="tel" type="text" class="formale1" id="tel" maxlength="10" />
<% If acc = 2 then %>
Inserisci ora la tua residenza.
Indirizzo :
<input name="residenza2" type="text" class="formale1" id="residenza2" maxlength="50" />
n.
<input name="numciv2" type="text" class="formale1" id="numciv2" size="5" maxlength="5" />
C.A.P. :
<input name="cap2" type="text" class="formale1" id="cap2" maxlength="5" />
Codice fiscale :
<input name="textfield" type="text" class="formale1" id="textfield" maxlength="16" />
Recapito telefonico (cellulare o fisso) :
<input name="tel2" type="text" class="formale1" id="tel2" maxlength="10" />
<% end if %></div></td>
</tr>
<tr>
<td colspan="2"><span class="dx">
<input type="submit" name="button" id="button" value="Avanti --->" class="formale2" />
</span></td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td></td>
</tr>
</table></form><% else
response.redirect index.asp %><% end if %>
Allora.
Mi apre l'elenco delle regioni, quindi significa che il primo passaggio funziona e che riesce ad aprire il database. Il problema è che, quando seleziono una regione, non compare l'elenco delle province.
Eppure tutto sembra in regola.
Idee?