Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    controllare il numero di check box attivati

    ciao a tutti.
    Non so se si può fare perche di javascript ne so ben poco.
    Ho una serie di checkbox e vorrei mettere il vincolo ad un massimo di 5 checkbox attivati. All'attivazione del sesto compare l'avviso che cè il limite a 5 e il bottone "invia" non è più disponibile.

    Si puo' fare?

    grazie mille!

  2. #2
    Ciao si si può fare prova questo codice:

    - Gli input checkbox li fai così:

    <input name="name" id="check" type="checkbox" onclick="disabilita()"/>

    - La funzione che disabilita il bottone è questa:

    function disabilita(){

    var lista_check = document.getElementsByTagName("input");

    var counter = 0;
    for(i = 0; i < lista_check.length; i++){
    if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == true){
    counter++;

    }
    }

    if(counter > 5){
    document.getElementById('invia').disabled = true;
    //al posto di invia devi inserire l'id del tuo bottone
    alert('max 5 selzioni');
    }else{
    document.getElementById('invia').disabled = false;
    //al posto di invia devi inserire l'id del tuo bottone
    }
    }

  3. #3
    mitico!!! funziona tutto alla grande.... manca solo una piccolissima cosa per essere perfetto.
    Quando compare l'avviso del "max 5 selezioni", quando uno premo OK dovrebbe levarsi la spunta sul ultimo selezionato... si puo' fare?

    grazie milioni!

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == true){
    if (counter>4){
    lista_check.item(i).checked = false;
    }
    counter++;

    }

    ti toglie la spunta mentre li controlla
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    si si può fare prova in questo modo:

    -Agli input dovresti dare un id diverso per ciascuno, e nella funzione disabilita passi un parametro che è l'id del checkbox appena cliccato: nella funzione aggiungi una riga come ti ho scritto sotto nella parte dell'if, prova e fammi sapere

    <input name="name" id="check1" type="checkbox" onclick="disabilita(this.id)"/>
    <input name="name" id="check2" type="checkbox" onclick="disabilita(this.id)"/>
    ...
    ...


    function disabilita(id){

    var lista_check = document.getElementsByTagName("input");

    var counter = 0;
    for(i = 0; i < lista_check.length; i++){
    if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == true){
    counter++;

    }
    }

    if(counter > 5){
    document.getElementById('invia').disabled = true;
    //al posto di invia devi inserire l'id del tuo bottone
    alert('max 5 selzioni');
    document.getElementById(""+id).checked = false;//------aggiunta
    }else{
    document.getElementById('invia').disabled = false;
    //al posto di invia devi inserire l'id del tuo bottone
    }
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    alla pressione del sesto check ti toglie la spunta sull'ultimo selezionato, e i ckeck sono 5, ma il button rimane disabilitato. mentre dovrebbe riabilitarsi.

    Togli l'else

    document.getElementById(""+id).checked = false;//------aggiunta
    //}else{
    document.getElementById('invia').disabled = false;


    Massimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.