Ho trovato la soluzione, spero che a qualcuno un giorno possa servire

Codice PHP:
<HTML>
<
HEAD>
 <
script type="text/javascript">
 
 function 
dennis(selezionata){
      
//ricavo l'oggetto che contiene l'elenco delle province
    
option=document.getElementById("province")
      
//il numero di opzioni precedenti
      
var dim_prec=option.length      
    
    
//un array per ogni regione
    
ar_pie=new Array();
    
ar_val=new Array();
    
ar_lig=new Array();
    
//rimepio gli array con le province
    
ar_pie[0]=new Option('Torino','Torino');
    
ar_pie[1]=new Option('Asti','Asti');
    
ar_pie[2]=new Option('Alessandria','Alessandria');

    
ar_val[0]=new Option('Aosta','Aosta');    

    
ar_lig[0]=new Option('Genova','Genova');
    
ar_lig[1]=new Option('La Spezia','La Spezia');
    
    
//a seconda della voce selezionata nella prima combo, scelgo a quele array assegnare la combo delle province
    
if(selezionata=="Piemonte")
        
array_rif=ar_pie;
    if(
selezionata=="Valle d'Aosta")
        
array_rif=ar_val;
    if(
selezionata=="Liguria")
        
array_rif=ar_lig;    
    
    
    
//inizializzo la combo delle province in modo opportuno
    
for(i=0;i<array_rif.length;i++)
        
document.form1.province.options[i]=array_rif[i];
    
    
//dimensione attuale del numero di opzione
    
dim_att=array_rif.length
    
    
//rimuovo le opzioni in eccesso
      
if(dim_att<dim_prec)
      {    
           for(var 
i=dim_att;i<dim_prec;i++)
           {    
            
option.remove(option.length-1)
        }        
    }
}
</script>
</HEAD>
<BODY>

<form name="form1">
<select name="regioni" onChange="dennis(this[selectedIndex].value)">
    <option value="Regione">Regione</option>
    <option value="Piemonte">Piemonte</option>
    <option value="Valle d'Aosta">Valle d'Aosta</option>
    <option value="Liguria">Liguria</option>
</select>
    
<select id="province">
<option>Provincia</option>
</select>               


</BODY>
</HTML>