Javascript per limitare il numero di checkbox selezionabili
20/10/2011Javascript da sempre è lo strumento utilizzato per effettuare i controlli sui campi di un form lato client prevenendo gli errori di compilazione prima dell'invio al server.
L'esempio di oggi prende in esame la necessità di limitare il numero di scelte effettuabili attraverso la selzione di checkbox.
Lo script viene lanciato ad ogni click su un checkbox attraverso la chiamata della funzione onClick="ctr(this)", così:
input type="checkbox" value="lettura" id="1" name="1" onClick="ctr(this)"
Il ciclo di controllo dello script è assai semplice:
** impostiamo la variabile in cui memorizzare il numero di checkbox selezionati
var conta=0;
** definiamo la funzione ctr che opererà sul parametro ricevuto quale
function ctr(quale)
** se il checkbox risulta selezionato
{
if (quale.checked)
** incrementiamo il valore della variabile conta
{
conta++;
** dopo l'incremento se la variabile supera il valore massimo (nel nostro caso impostato a 4)
if (conta > 4)
** apriamo l'alert di avviso, riportiamo il checkbox a non selezionato, decrementiamo la variabile
{
alert("Si possono esprimere al massimo 4 preferenze !");
quale.checked=false;
conta--;
}
}
** se il checkbox invce non risulta selezionato (quindi l'utente ha deselezionato) decrementiamo la variabile conta
else
{
conta>0?conta--:null;
}
}