Newsgroup: it.comp.lang.javascript
Titolo: validazione checkbox

Non riesco a validare i checkbox con il valore 'name'
<input name="email[]" type="checkbox" value="indirizzo_email">
.....
.....
Il mio script è:
function check(theForm) {
for (i=0, n=theForm.email.length; i<n; i++) {
   if (theForm.email[i].checked) {
      var checkvalue = theForm.email[i].value;
      break;
   }
}
	if (!(checkvalue)) {
			alert ('Prego, inserire e-mail di destinazione!');
		return false;
				} else {
		return true;
	}
}
Se tolgo le parentesi quadre lo script funziona, ma a me servono per 
creare un array che poi 'esploderò'.
Grazie anticipatamente

       var checkvalue = theForm.email[i].value;
 var ... = n[i].value;
etc etc
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 etc etc
Grazie per il consiglio, ma ho dovuto cambiare n[i] in 
theForm.elements['email[]'][i] per far funzionare lo script.
grazie ancora....

 theForm.elements['email[]'][i] per far funzionare lo script.
hai ragione, era
 for(var i=0,n=theForm.elements['email[]'];i<n.length;i++) {    
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

Come poter validare un gruppo di checkbox con nomi differenti
es.
<input name="valore1" type="radio" value="valore">
<input name="valore2" type="radio" value="valore">
.................
<input name="valore101" type="radio" value="valore">

 <input name="valore101" type="radio" value="valore">
Primo, questi non sono checkbox, ma radio button (come dice il "type"). Da
capire quindi se hai sbagliato ad esprimerti tu poc'anzi, o č errato il
codice riportato.
Secondo, nel caso si tratti effettivamente di radio button, avendo tutti
name differenti non hai creato alcun "gruppo": questo significa che possono
essere selezionati indipendentemente l'uno dall'altro, senza la
caratteristica "selezione esclusiva" che contraddistingue questo tipo di
controllo.
-- 
~ "Accadono cose che sono come domande.
Passa un minuto, oppure anni e poi la vita risponde."
(A. Baricco)

 controllo.
Scusami hai ragione (errore di copiatura), infatti essi sono dei 
checkbox, quindi <input name="valore1" type="checkbox" value="valore">
A me interesserebbe che vengano validati nella loro totalità, ossia 
basti che ne sia selezionato uno che la validazione sia 'true'.

 basti che ne sia selezionato uno che la validazione sia 'true'.
D'accordo, facciamo ora un passo indietro, per capire bene il contesto: come
mai necessiti che ognuno di questi checkbox abbia un "name" differente? Da
quanto ho capito hai essenzialmente un prefisso (tipo "valore") con un
indice numerico a seguito.
Non capisco il perché operare una scelta del genere, invece che creare
un'array di controlli impostando il medesimo name.
In questo modo, potresti gestire molto meglio i gruppi di elementi (in
questo caso, i checkbox).
-- 
~ Se il destino è contro di noi, peggio per lui!

ZER0 ha spiegato il 21/09/2006 :

Il motivo per cui uso checkbox con nami diversi è per effetuare un 
multiple update in asp.

 multiple update in asp.
E non puoi farlo ugualmente con il medesimo name? Lato client ti viene
generato automaticamente un array di controlli, e lato ASP uguale, che puoi
ciclarti tranquillamente con un for.
-- 
~ Il lavoro è prezioso. Non essere egoista! Lascialo agli altri!