Ciao a tutti, devo realizzare un form con due campi select dinamici, ho cercato un po' sul forum e avrei trovato quello che fa per me in questo tread

Diciamo che sarebbe quello che serve a me, e diciamo pure che sarei riuscito ad adattarlo al mio scopo, si puo' vedere un esempio qui

Il mio problema e' che a volte potrebbero esserci delle non uguaglianze tra il listino e le sottocategorie, mi spiego meglio, nella pagina di esempio se si scorre sulla prima select fino a prova nell'altra select non compare nulla (la categoria prova non ha sottocategorie...) e questo genera un piccolo errore quando uno preme il tasto MODIFICA (Proprieta' o metodo non supportati dall'oggetto...)



Come potrei ovviare al problema, magari facendo comparire nell'altro campo select solo il nome della categoria duplicato se la categoria non contiene sottocategorie ?

Vi posto il codice della pagina prova.php

Codice PHP:


<HTML> 
<HEAD> 
<script language="javascript"> 
function objProvincia(codice,nome){ 
this.codice=codice 
this.nome=nome 

function objRegione(nome,province){ 
this.nome = nome 
this.province = province 

var regioni = new Array() 


<?php 
$q 
mysql_query("SELECT * FROM listino WHERE attivo = '0' ORDER BY nome_listino"); 
while(
$r mysql_fetch_assoc($q)) { //scandisci il listino 
print "province = new Array();";
$q2 mysql_query("SELECT * FROM sottocategorie WHERE categoria = '$r[nome_listino]' AND attivo_sot = '0' ORDER BY nome_sottocategoria"); 
while(
$r2 mysql_fetch_assoc($q2)) { //scandisci tutte le sottocategorie
print "province[province.length]=new objProvincia(\"$r2[id]\",\"$r2[nome_sottocategoria]\");";

print 
"regioni[regioni.length]=new objRegione(\"$r[nome_listino]\",province);";

?> 


function creaRegioni(){ 
oo = document.NomeForm.regione.options 
for(i=0;i<regioni.length;i++) 
oo[oo.length]=new Option(regioni[i].nome,regioni[i].nome) 

function svuotaOption(oo){ 
for(i=(oo.length-1);i>=0;i--) 
oo[i]=null 

function filtraProvince(reg){ 
oo = document.NomeForm.provincia.options 
svuotaOption(oo) 
if(reg=='')oo[oo.length]=new Option('Selezionare la Regione','') 
else{ 
for(i=0;i<regioni.length;i++) 
if(regioni[i].nome==reg){ 
pro = regioni[i].province 
for(j=0;j<pro.length;j++) 
oo[oo.length]=new Option(pro[j].nome,pro[j].codice) 
i=regioni.length 




function vai(ff){ 
pro = ff.provincia.options[ff.provincia.selectedIndex].value 
 

</script> 
</HEAD> 
<BODY onload="creaRegioni()"> 

<form action="prova11.php" method="post" name="NomeForm">
<select name="regione" onchange="filtraProvince(this.options[this.selectedIndex].value)"> 
<option value="">Selezionare...</option> 
<option value="">---------------</option> 
</select> 
<select name="provincia"> 
<option value="">Selezionare la Regione</option> 
</select>
<input type="submit" name="NomeForm" value="Modifica" onclick="vai(this.form)">

</form> 
</BODY> 
</HTML>
Il fatto e' che mi da proprio fastidio che compaia un errore anche se impercettibile per un istante al clik del bottone.
Aiutoooo...E grazie 1000 per la pazienza !

Micky