martedì 18 gennaio 2011

Impostare un numero massimo di scelte con checkbox

Può capitare, quando si creano dei form, di dover impostare le checkbox consentendo però solo un numero massimo di scelte.
Nel mio caso avevo una serie di checkbox create dinamicamente con php.

Ecco come ho agito:
questo è il codice che si occupa del controllo:

<script type="text/javascript">
/* inizializzo la variabile con il totale dei checkbox selezionati */
var quanti = 0;
function checkmax(elemento,max){
if (elemento.checked) {
/*se la variabile, una volta aumentata, è uguale
al numero massimo, faccio un avviso e poi aumento la variabile */
if ((quanti+1)==max)
{
alert("selezionato il numero massimo\n
di numeri di serie da cancellare" );
quanti+=1;
}
/*altrimenti se aumentando la variabile supero il massimo valore imposto
risetto deseleziono la checkbox*/
else if ((quanti)+1>max) elemento.checked=false;
/*se no aumento la variabile semplicemente */
else quanti +=1;
}
/*se invece ho deselezionato la checkbox diminuisco la variabile*/
 else {quanti-=1;}
}
</script>

Ed ecco come l'ho richiamata poi:

<input type="checkbox" value="valore" name="nome[]" onclick="checkmax(this,3"/>

Nessun commento:

Posta un commento

Ti potrebbero interessare:

Related Posts Plugin for WordPress, Blogger...