Mi piace farmi confondere le idee dalle donne, sì; però mi ce ne è voluto assai prima di convincermi che trattasi di più SELECT sul campo.
Almeno a farmi coraggio nel prendere questa direzione è servito, il post di Andrea.
Però se stabiliamo:
if(sel[i].options.selectedIndex.value == sel[i].options.selectedIndex.value)
confrontiamo in realtà sel[i].options.selectedIndex.value con se stesso (la medesima SELECT); di conseguenza, ne risulterà sempre l' eguaglianza e il messaggio di Errore lo avremo zompante in ogni caso.
Questo, a prescindere dal fatto che sel[i].options.selectedIndex.value ritorna undefined
(provare a metterlo in un alert(sel[i].options.selectedIndex.value); )
in quanto path inadeguata ad estrarre il Valore selezionato.
La più semplice:
alert(sel[0].value);
o la più completa:
alert(sel[0].options[sel[0].options.selectedIndex].value);
does the trick, riferita con l' indice numerico [0] alla prima SELECT che incontra nel Documento.
Se è noto quante SELECT avremo nella pagina, pur rimanendo ignoto/dinamico il loro contenuto in OPTION 's, possiamo fare a meno del ciclo for e domani decidersi a buttare giù un codice giusto.