Allora tutto corrispondeva tranne l'ultimo punto....lo script lo mettevo sopra le select...
Però cambiando di posto ottengo lo stesso risultato.
(PS togliendo il comando che rende invisibili le altre select il display:block funziona)
Guarda la sorgente:
Codice PHP:
<select name="regioni" id="regioni">
<option onclick="changeprovince13()" id="13" value="13">ABRUZZO</option>
<option onclick="changeprovince17()" id="17" value="17">BASILICATA</option>
<option onclick="changeprovince18()" id="18" value="18">CALABRIA</option>
<option onclick="changeprovince15()" id="15" value="15">CAMPANIA</option>
<option onclick="changeprovince8()" id="8" value="8">EMILIA-ROMAGNA</option>
<option onclick="changeprovince6()" id="6" value="6">FRIULI-VENEZIA GIULIA</option>
<option onclick="changeprovince12()" id="12" value="12">LAZIO</option>
<option onclick="changeprovince7()" id="7" value="7">LIGURIA</option>
<option onclick="changeprovince3()" id="3" value="3">LOMBARDIA</option>
<option onclick="changeprovince11()" id="11" value="11">MARCHE</option>
<option onclick="changeprovince14()" id="14" value="14">MOLISE</option>
<option onclick="changeprovince1()" id="1" value="1">PIEMONTE</option>
<option onclick="changeprovince16()" id="16" value="16">PUGLIA</option>
<option onclick="changeprovince20()" id="20" value="20">SARDEGNA</option>
<option onclick="changeprovince19()" id="19" value="19">SICILIA</option>
<option onclick="changeprovince9()" id="9" value="9">TOSCANA</option>
<option onclick="changeprovince4()" id="4" value="4">TRENTINO-ALTO ADIGE</option>
<option onclick="changeprovince10()" id="10" value="10">UMBRIA</option>
<option onclick="changeprovince2()" id="2" value="2">VALLE D\'AOSTA</option>
<option onclick="changeprovince5()" id="5" value="5">VENETO</option>
</select>
<select name="province13" id="province13" style="display:none;" class="provincia">
<option id="provincia66" value="provincia66">L'Aquila</option>
<option id="provincia67" value="provincia67">Teramo</option>
<option id="provincia68" value="provincia68">Pescara</option>
<option id="provincia69" value="provincia69">Chieti</option>
</select>
<script type="text/javascript" language="javascript">
function changeprovince13() {
var ps = [];
ps = getElementsByClass(document.body, 'provincia', 'select'); /* restituisce un array */
var numselect = ps.length;
if (numselect === 0) return; // nessuna select
while (numselect--) { ps[numselect].style.display = "none"; };
document.getElementById("province13").style.display = "block";
}
</script>
<select name="province17" id="province17" style="display:none;" class="provincia">
<option id="provincia76" value="provincia76">Potenza</option>
<option id="provincia77" value="provincia77">Matera</option>
</select>
<script type="text/javascript" language="javascript">
function changeprovince17() {
var ps = [];
ps = getElementsByClass(document.body, 'provincia', 'select'); /* restituisce un array */
var numselect = ps.length;
if (numselect === 0) return; // nessuna select
while (numselect--) { ps[numselect].style.display = "none"; };
document.getElementById("province17").style.display = "block";
}
</script>
ETC ETC.....
Alla fin fine è come se il fatto di rendere tutto invisibile implicasse che la riga successiva venga riscritta il che è contro ogni logica visto che una regola che sta sotto ne soprascrive una che sta sopra
Edit: ho provato a togliere style="display:none;" alle select per vedere se almeno il comando che faceva sparire tutte le select funzionasse.
Quindi avevo tutte le select visibili: cambio regione e tutte le select delle provincie restano visibili. Quindi a prescindere lo scritp delle classi non funziona :master: