Newsgroup: it.comp.lang.javascript
Titolo: Verifica valore checkbox in uno span

Salve a tutti,
pagina 
ASP.NET
.
Prima di inviare i dati al server un controllo lato client.
Verifica che almeno un checkbox di un controllo CheckBoxList sia true.
In HTML si presentano una serie di checkbox dentro uno span, come di
seguito:
<span id="chkImpreseEsecutrici" class="TextBox"
style="font-size:8pt;font-weight:bold;height:55px;width:377px;">
<input id="chkImpreseEsecutrici_0" type="checkbox"
name="chkImpreseEsecutrici:0" /><label
for="chkImpreseEsecutrici_0">Adriatica costruzioni</label><br>
<input id="chkImpreseEsecutrici_1" type="checkbox"
name="chkImpreseEsecutrici:1" /><label
for="chkImpreseEsecutrici_1">Mattoni & Mattoni</label><br>
<input id="chkImpreseEsecutrici_2" type="checkbox"
name="chkImpreseEsecutrici:2" /><label
for="chkImpreseEsecutrici_2">Polidori & Figli</label><br>
<input id="chkImpreseEsecutrici_3" type="checkbox"
name="chkImpreseEsecutrici:3" /><label
for="chkImpreseEsecutrici_3">Sostene Jonica</label><br>
<input id="chkImpreseEsecutrici_4" type="checkbox"
name="chkImpreseEsecutrici:4" /><label
for="chkImpreseEsecutrici_4">Travertino S.p.A.</label><br>
<input id="chkImpreseEsecutrici_5" type="checkbox"
name="chkImpreseEsecutrici:5" /><label for="chkImpreseEsecutrici_5">Travi
& Travi</label></span>
Attualmento riesco a verificare con il seguente script;
function verificaImpresaSelezionata()
{//deve risultare almeno una impresa selezionata			
   for(i = 0; i < document.forms[0].elements.length; i++) 
	{ elm = document.forms[0].elements[i]; 
	 if (elm.type == 'checkbox') 
	   { if (elm.name.substr(0,4)=='chkI') 			
	     {if (elm.checked==true) 
			{ return true;
		}}}}
			return false;				
		}
Ma cosě l'escursione č per tutti i controlli presenti nel form.
E' possibile eseguire la verifica solo all'interno di <span
id="chkImpreseEsecutrici"  ?
Grazie
giuseppeD
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 id="chkImpreseEsecutrici"  ?
Dipende ... così come la fai te è compatibile per tutti, se vuoi ciclare
dentro il tag span perdi compatibilità IE4-net4. 
A parte questo lo script che hai indicato non mi sembra funzionare
correttamente: se il primo checkbox è false restituisce false (anche se un
altro è true), così a naso...
potrebbe diventare un qualcosa del tipo
 for(var
i=0,obj=document.getElementById('chkImpreseEsecutrici').getElementsByTagName('input');i<obj.length;i++)
if(obj[i].type=='checkbox')&&obj[i].name.substr(0,4)=='chkI'&&obj[i].checked)
 return true;
return false;
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 return false;
Ecco il codice utilizzato
var
obj=document.getElementById('chkImpreseEsecutrici').getElementsByTagName('input');
	for (var i=0; i < obj.length ; i++)			
	{
	if((obj[i].type=='checkbox')&& (obj[i].name.substr(0,4)=='chkI') &&
(obj[i].checked))
	{ return true;	}
	}return false;
	}
ho dovuto spezzare l'istruzione
  for(var
i=0;obj=document.getElementById('chkImpreseEsecutrici').getElementsByTagName('input');i<obj.length;i++)
if(obj[i].type=='checkbox')&&obj[i].name.substr(0,4)=='chkI'&&obj[i].checked)
in due parti, in quanto mi rilevava un errore di mancanza di chiusura di
parentesi )
Chiedo se è stata scritta come traccia o è possibile inserire
obj=document.getElementById('chkImpreseEsecutrici').getElementsByTagName('input')
nel ciclo ?


 parentesi )
Sě, ho visto, la fretta ... c'č una parentesi di troppo:
for(var
i=0,obj=document.getElementById('chkImpreseEsecutrici').getElementsByTagName('input');i<obj.length;i++)
if(obj[i].type=='checkbox' *DA RIMUOVERE: )*
&&obj[i].name.substr(0,4)=='chkI'&&obj[i].checked)
 return true;
return false;
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.