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++; } } }

Rispondi quotando