e' indentata in maniera confusionaria
Codice PHP:
// da richiamare con <input type="checkbox" name="nomeCheckbox" onclick="ControlloSubmit(this)">
function ControlloSubmit(cc){
// variabile di controllo
var almenouno=false;
// riferimento al form
var ff=cc.form;
// riferimento agli elementi che condividono lo stesso nome del checkbox cliccato
var ccx=ff.elements[cc.name];
// se ha lunghezza si tratta di un array, quindi piu' di un elemento condivide lo stesso name
if(ccx.length){
// cicla per la lunghezza di questo array, setta la var di controllo a true se almeno uno e' segnato
for(var i=0;i<ccx.length;i++) if(ccx[i].checked)almenouno=true
}
// se non ha lunghezza un solo elemento ha quel nome
// e verifica che sia segnato
else if(ccx.checked)almenouno=true
// da qui in base alla variabile di controllo decidi quello che devi fare
// se almeno uno e' segnato
if(almenouno){
// disabilita invia, abilita registra e annulla
ff.invia.disabled=true;
ff.registra.disabled=false;
ff.annulla.disabled=false;
}
// altrimenti
else {
// abilita invai, disabilita registra e annulla
ff.invia.disabled=false;
ff.registra.disabled=true;
ff.annulla.disabled=true;
}
}
per contare quanti ne sono segnati
Codice PHP:
function ControlloSubmit(cc){
var almenouno=0;
var ff=cc.form;
var ccx=ff.elements[cc.name];
if(ccx.length){
for(var i=0;i<ccx.length;i++) if(ccx[i].checked) almenouno++
}
else if(ccx.checked)almenouno++
// "emetterlo a video", come?
// in un campo del form?
// ff.nomeElemento.value=almenouno;
// scriverlo all' interno di un elemento con un id="totaleSegnati"?
// document.getElementById('totaleSegnati').innerHTML=almenouno;
il resto e' come sopra
Inoltre sarei grato se qualcuno potesse spiegarmi il concetto dell'esistenza della
codice:
}else if(ccx.checked)almenouno=true
perche io non ci sono riuscito, oppure e' qualcosa che in questa funzione non serve???
se sei certo di avere sempre piu' di un checkbox non ti serve (fara' sempre parte di un array di elementi)
ciao