Il metodo idoneo è ajax (che nemmeno io sò utilizzare...)
Ma in una occasione ho aggirato il problema utilizzando una select di questo tipo (è tutto javascript quindi sono OT)
codice:
<html>
<head>
<SCRIPT>
<!--
var prov=new Array();
prov[1]=new Array("Lecce","Foggia","Brindisi","Taranto","Bari");
prov[2]=new Array("Potenza","Matera");
prov[3]=new Array("Cagliari","Nuoro","Oristano");
var sigle=new Array()
sigle[1]=new Array("LE","FG","BR","TA","BA");
sigle[2]=new Array("PT","MT");
sigle[3]=new Array("CA","NU","OS")
function Riempi(source)
{
with (document.modulo.output)
{
while (options.length > 0)
options[0]=null;
for (i=0;i<prov[source].length;i++)
options[i]=new Option(prov[source][i],sigle[source][i])
options.selectedIndex=0;
}
}
//-->
</SCRIPT>
</head>
<body>
<FORM NAME="modulo">
<SELECT NAME="input" onChange="Riempi(this.options.selectedIndex)">
<OPTION></OPTION>
<OPTION>Puglia</OPTION>
<OPTION>Basilicata</OPTION>
<OPTION>Sardegna</OPTION>
</SELECT>
<SELECT NAME="output">
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
<OPTION></OPTION>
</SELECT>
</FORM>
</body>
<html>
ATTENZIONE:
Nel codice che ho postato tra <option> e </option> viene ripetuto 10 volte & n b s p ; (senza spazi fra le lettere) solo che il mette gli spazi