Il controllo e' assai ingarbugliato... per come e' fatto vengono sempre eseguiti anche i due else delle condizioni non verificate... ovvio che funzioni solo con l'ultima opzione!
Inltre usi il nome della variabile uguale al nome della select (devono essere univoci) e ricavi il valore in modo errato.
Ecco il tutto rivisto e semplificato:
ciaocodice:function scelta_ricerca() { var f = document.ric_trucchi; var wtipo_ricerca = f.tipo_ricerca.options[f.tipo_ricerca.selectedIndex].value; // disabilito tutto per default f.datadal.disabled=true; f.dataal.disabled=true; f.categoria.disabled=true; //opzione uno if(wtipo_ricerca == "data") { f.datadal.disabled=false; f.dataal.disabled=false; } //opzione due if(wtipo_ricerca == "categoria") { f.categoria.disabled=false; } //opzione tre if(wtipo_ricerca == "data_categoria") { f.datadal.disabled=false; f.dataal.disabled=false; f.categoria.disabled=false; } }

Rispondi quotando