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
Il fatto e' che mi da proprio fastidio che compaia un errore anche se impercettibile per un istante al clik del bottone.codice:<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>
Aiutoooo...E grazie 1000 per la pazienza !
Micky

