Newsgroup: it.comp.lang.javascript
Titolo: Array Checkbox

Ciao,
Ho un Form con un ciclo dinamico su delle risposte.
In pratica ci sono 3 checbox:
- a
- b
- c
Adesso moltiplicate questi per la lunghezza del ciclo...quindi da 1 a X.
Quindi non sempre è un array.
Ora devo controllare che almeno una selezione deve essere effettuata per
inviare il form.
Da quello che ho capito se faccio un semplice controllo, ossia:
if(Obj.a.checked||Obj.b.checked||Obj.c.checked){
 var AlmenoUnaSelezione = 1;
}else{
 var AlmenoUnaSelezione = 0
}
Non mi funziona quando non sono solo 3, quidi 6,9,12 ossia c'è piu' di
un ciclo. E' esatto? Come devo fare allora?
Grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:a0f1a9789e1f0e657d...@mygate.mailgate.org
HO provato cosi ma mi da errore??
var AlmenoUno = 0;
var obj = document.forms[0];
	for(i=0; i<obj.elements.length; i++){
		if(obj.elements[i].type=='checkbox'){
			//alert('sei nei checkbox')
(obj.Survival[i].checked||obj.Threshold[i].checked||obj.Mastery[i].checked)?AlmenoUno=1:null;
		}
	}
Mi dice previsto oggetto....
;(


 un ciclo. 
Non capisco cosa tu voglia dire con "piu' di un ciclo", sinceramente.
Prova a descrivere un po' meglio la struttura della pagina.
-- 
ZER0://coder.gfxer.web-designer/
~ L'ingegnere non vive, funziona.

 wrote in message
news:b2770b8v...@ID-171124.news.individual.net
------
hai il blocco semplificato....
In pratica devo assicurarmi che almeno un checkbox sia selezionato
CIAO E GRAZIE
------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function uncheck(ON,OFF1,OFF2){
document.getElementById(ON).checked;
document.getElementById(OFF1).checked = false;
document.getElementById(OFF2).checked = false;
(document.getElementById(ON).checked)?document.getElementById(ON).checked==false:document.getElementById(ON).checked==true;
}
function Advise(){
var AlmenoUno = 0;
var obj = document.forms[0];
	for(i=0; i<obj.elements.length; i++){
		if(obj.elements[i].type=='checkbox'){
			alert('Sei nei checkbox')
(obj.Survival[i].checked||obj.Threshold[i].checked||obj.Mastery[i].checked)?AlmenoUno=1:null;
		}
	}
 
	//alert(AlmenoUno)
 
	if(AlmenoUno==0){
		alert('Seleziona almeno uno dei checkbox per procedere con l\'invio');
		return false;
	}else{
		//document.forms[0].action='Comands/INSERT_risposta.asp';
		document.forms[0].submit();
	}
}
//-->
</script>
</head>
<body>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<form name="sample" method="POST">
  <tr>
    <td height="1" bgcolor="#0082D6"><img src="/cim/imm/spacer.gif"
width="1" height="1"></td>
  </tr>
  <tr>
    <td>
	</td>
  </tr>
  <tr>
    <td>      <table width="100%"  border="0" cellpadding="5"
cellspacing="1" bgcolor="#0082D6">
          <tr>
            <td bgcolor="#FFFF99">
              <table width="35%"  border="0" cellpadding="0"
cellspacing="0" bgcolor="#0082D6">
                <tr>
                  <td width="33%" height="20"
class="TXTarialWhite"><strong>Skill profile 1</strong></td>
                </tr>
                <tr>
                  <td height="1" bgcolor="#00426F"></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0"
cellspacing="1" bgcolor="#CCCCCC">
                <tr>
                  <td valign="top" bgcolor="#FFFFFF">
                    <table width="100%"  border="0" cellspacing="0"
cellpadding="0">
                      <tr valign="middle">
                        <td width="90" height="34" bgcolor="#F2F2F2"
class="TXTarialBluPad"><input name="Survival" type="checkbox"
id="Survival1" value="46|1"
onClick="uncheck('Survival1','Threshold1','Mastery1');">
                        Survival</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                      <tr valign="middle">
                        <td height="1" colspan="2"
bgcolor="#F2F2F2"></td>
                      </tr>
                      <tr valign="middle">
                        <td height="34" bgcolor="#E5E5E5"
class="TXTarialBluPad"><input name="Threshold" value="46|2"
type="checkbox" id="Threshold1"
onClick="uncheck('Threshold1','Survival1','Mastery1');">
Threshold</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                      <tr valign="middle">
                        <td height="1" colspan="2"
bgcolor="#F2F2F2"></td>
                      </tr>
                      <tr valign="middle">
                        <td height="34" bgcolor="#CCCCCC"
class="TXTarialBluPad"><input name="Mastery" type="checkbox"
id="Mastery1" value="46|3"
onClick="uncheck('Mastery1','Threshold1','Survival1');">
Mastery</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                  </table>                  </td>
                </tr>
              </table> 
			  <br>
              <table width="35%"  border="0" cellpadding="0"
cellspacing="0" bgcolor="#0082D6">
                <tr>
                  <td width="33%" height="20"
class="TXTarialWhite"><strong>Skill profile 2</strong></td>
                </tr>
                <tr>
                  <td height="1" bgcolor="#00426F"></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0"
cellspacing="1" bgcolor="#CCCCCC">
                <tr>
                  <td valign="top" bgcolor="#FFFFFF">
                    <table width="100%"  border="0" cellspacing="0"
cellpadding="0">
                      <tr valign="middle">
                        <td width="90" height="34" bgcolor="#F2F2F2"
class="TXTarialBluPad"><input name="Survival" type="checkbox"
id="Survival2" value="47|1"
onClick="uncheck('Survival2','Threshold2','Mastery2');">
                        Survival</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                      <tr valign="middle">
                        <td height="1" colspan="2"
bgcolor="#F2F2F2"></td>
                      </tr>
                      <tr valign="middle">
                        <td height="34" bgcolor="#E5E5E5"
class="TXTarialBluPad"><input name="Threshold" value="47|2"
type="checkbox" id="Threshold2"
onClick="uncheck('Threshold2','Survival2','Mastery2');">
Threshold</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                      <tr valign="middle">
                        <td height="1" colspan="2"
bgcolor="#F2F2F2"></td>
                      </tr>
                      <tr valign="middle">
                        <td height="34" bgcolor="#CCCCCC"
class="TXTarialBluPad"><input name="Mastery" type="checkbox"
id="Mastery2" value="47|3"
onClick="uncheck('Mastery2','Threshold2','Survival2');">
Mastery</td>
                        <td bgcolor="#FFFFFF"
class="TXTarialBluPad">ciao</td>
                      </tr>
                  </table>                  </td>
                </tr>
              </table> 
			  <br>
			  <table width="100%"  border="0" align="center" cellpadding="0"
cellspacing="0">
                <tr>
                  <td align="center" height="5"></td>
                </tr>
                <tr>
                  <td align="center"><input
class="TXTarialNero"type="button" name="Submit" value="Invia blocco
risposte Storage" onClick="Advise();"></td>
                </tr>
            </table>                        </td>
          </tr>
    </table></td></tr>
  </form>
</table>
</body>
</html>


 hai il blocco semplificato....
Scusa, ma perche' stai a reinventarti l'acqua calda?
<form method="post">
	<fieldset>
		<legend>Skill 1</legend>
		<input name="radSkill_1" type="radio" value="Survival" checked="checked"
/>Survival
		<input name="radSkill_1" type="radio" value="Threshold" />Threshold
		<input name="radSkill_1" type="radio" value="Mastery" />Mastery
	</fieldset>
	<fieldset>
		<legend>Skill 2</legend>
		<input name="radSkill_2" type="radio" value="Survival" checked="checked"
/>Survival
		<input name="radSkill_2" type="radio" value="Threshold" />Threshold
		<input name="radSkill_2" type="radio" value="Mastery" />Mastery
	</fieldset>
 
	<input type="submit" value="invia blocco" />
</form>
Non badare ovviamente al layout, il concetto sta essenzialmente negli input
di tipo radio, puoi metterli - ovviamente - anche nel layout tabellare che
hai fatto.
-- 
ZER0://coder.gfxer.web-designer/
~ "L'unica persona che mi chiama con un numero che non conosco
e' il mio ragazzo." (Linda)

 I radio non si adattano ;)
Enno', e' proprio per questo che gli ho chiesto perche' reinventarsi
l'acqua calda.
Usa i checkbox come fossero radio button forzandone la scelta singola
tramite script.
Se vedi il sorgente che ha postato, c'e' una funzione chiamata "uncheck"
che viene richiamata al click dei checkbox in modo che, per ogni gruppo, vi
sia una sola scelta per gruppo.
Esattamente il motivo per cui esistono i radio button.
-- 
ZER0://coder.gfxer.web-designer/
~ Come devo regolare la stampante laser per stordire?
(How do I set a laser printer to stun?)
on air ~ "Luca Dirisio - Calma e sanguefreddo"

 sia una sola scelta per gruppo.
Magari gli serve sapere *quale* gruppo è stato selezionato?
Boh...inutile inventare, sentiamo lui
-- 
"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.

 Magari gli serve sapere *quale* gruppo è stato selezionato?
Ma cio' non toglie che non ha senso forzare tramite script il comportamento
di un checkbox per renderlo come un radio..
-- 
ZER0://coder.gfxer.web-designer/
~ Le donne si dividono in 4 categorie: le suore (non la danno a nessuno);
le puttane (la danno a tutti); le stronze (la danno a tutti tranne che
a te); le rompiballe (la danno a te e solo a te).
on air ~ "sperman 1 divx"

 wrote in message
news:1nkwx42ozyiz$.
d...@ID-171124.news.individual.net
Lo so, lo so...ma c'č un motivo perchč devono essere per forza
radiobutton....


 radiobutton....
Checkbox, volevi dire.
Ovvero, ovvero?
-- 
ZER0://coder.gfxer.web-designer/
~ I feel like I'm diagonally parked in a parallel universe.


 Ovvero, ovvero?
Perchč l'utente puň effettuare una selezione alla domanda o meno...., quindi
se fosse radio e lo seleziona poi non puň tornare indietro...poi perchč il
mio capo lo vuole cosě...quindi c'č un modo per capise se almeno una
selezione č stata fatta modificando il miocodice delle precedenti?
CIAO

 selezione è stata fatta modificando il miocodice delle precedenti?
Io la mia soluzione te l'ho data, se te vuoi forzare le cose contro la loro
natura, e' un altro paio di maniche ed e' un gioco a cui, scusami, ma non
mi voglio prestare.. per mere questioni di principio.
-- 
ZER0://coder.gfxer.web-designer/
~ "Massi' che e' uno standard, e' uno standard proprietario."
(Gio')

 Non c'č dubbio.
Eggia'.. e' poi uno si chiede come mai non vengono seguiti gli standard.
^_^;
-- 
ZER0://coder.gfxer.web-designer/
~ "Lo dice il buon senso, ma il buon senso non e' uno standard".
(Jeffrey Zeldman)

 mi voglio prestare.. per mere questioni di principio.
OK , ok va bene...farò come dici....
BYE e grazie come sempre...


 OK , ok va bene...farò come dici....
Non fraintendermi: sei libero di fare come credi, non voglio "imporre"
nulla. Su google troverai sicuramente molte informazioni in merito, o
magari ci sara' qualcuno che ti fornira' il codice che cerchi; pero' quel
qualcuno non sono io.
Mi stai chiedendo qualcosa alla quale sono contrario. Tu puoi agire come
preferisci, ma non puoi chiedere a me di fare qualcosa che non reputo
giusto (in piu', quest'argomento come ti ho detto tocca una questione di
principio).
-- 
ZER0://coder.gfxer.web-designer/
~ Tutti quelli che credono nella psicocinesi, per favore alzino la mia
mano.