un esempio... utilizza il case invece degli if.


codice:
<head>
<script type="text/javascript">
function regione(reg) {

   if (reg == "") return;
   
   var province = new Array();
   var selProv = document.getElementById('province');
   while(selProv.options.length > 0) selProv.removeChild(selProv.options[0]); 
   
   
   switch(reg) {
    
        case 'veneto':            
            province.push('Treviso');
            province.push('Venezia');
            province.push('Belluno');
            //...
            break;
   
        case 'trentino': 
            province.push('Bolzano');
            province.push('Trento');
            province.push('Mich :-)');
            break;
            
            
        // altre regioni
        default: 
   }

    
   for (i=0; i<province.length; i++) {
      opt = document.createElement('option');
      opt.setAttribute('value', province[i]);
      opt.setAttribute('text', province[i]);
      opt.innerHTML = province[i];
      selProv.appendChild(opt);
   }
}
</script>
</head>

<body>

<select id="regioni" onchange="regione(this.value)">
  <option value="">Scegli regione</option>
  <option value="veneto">Veneto</option>
  <option value="trentino">Trentino Alto Adige</option>
</select>

<select id="province"></select>

</body>

Ciao