Non ho controllato attentamente nel codice HTML, ma ritengo che nello script vuoi testare solo i checkbox, non tutti i campi.
Inoltre ho visto che non ci sono tutti i campi con nome coloreX. Probabilmente e` questo che fa arrabbiare il browser.
Per cui il codice deve diventare:
codice:
for (var i=0;i<num_colori;i++) {
if (f.elements['colore'+i] && f.elements['colore'+i].type=='checkbox' && f.elements['colore'+i].checked) {
if (cont>1) {
alert("Attenzione, non puoi selezionare più di un colore!");
return false;
} else {
valore_selezionato = f.elements['colore'+i].value
cont++;
}
}
}