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

    Quanti checkbox ho selezionato?

    Salve a tutti, ho una domanda probabilmente semplice, ma non riesco a trovare una soluzione.

    Ho una serie di checkbox, a scelta multipla, esempio ballo[].

    Come faccio a sapere quante caselle sono state selezionate per ballo[]?

    Mi serve sapere SE C'E' N'E' ALMENO UNA SELEZIONATA?

    Grazie a tutti in anticipo.

  2. #2
    dipende da cosa ti serve di preciso e quando devi fare il controllo...in linea di massima il blocco seguente può essere una base da cui partire:

    Codice PHP:
    <script type="text/javascript">
    var 
    cnt 0;
    function 
    conta(chk) {
    chk.checked cnt++ : cnt--;
    }
    </script>

    <form name="test" onsubmit="cnt ? alert('Almeno uno è checkato. Per la precisione: ' + cnt) : alert('Nessuno è checkato')">
    <input type="checkbox" name="whatever" onclick="conta(this)" />
    <input type="checkbox" name="whatever" onclick="conta(this)" />
    <input type="checkbox" name="whatever" onclick="conta(this)" />
    <input type="submit" />
    </form> 

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in linea generale
    codice:
    var cks=document.nomeForm.elements['ballo[]'];
    var segnato=false;
    for(var k=0;k<cks.length;k++){
      if(cks[k].checked==true){
        // fai quello che devi fare nel caso almeno uno sia segnato
        segnato=true;
        // se non ti serve contarli (= ne basta uno segnato) esci dal ciclo
        break;
      }
    }
    if(!segnato){
      // fai quello che devi fare nel caso nessuno sia segnato
    }
    ciao

  4. #4
    Grazie ad entrambi, gentilissimi e rapidissimi nel rispondere.

    Ho risolto in questo modo (non è indentato per praticità):

    codice:
    selezionato = 0;
    cks = myform.elements['ballo[]'];
    for(k=0;k<cks.length;k++){if(cks[k].checked==true){selezionato = 1;break;}}
    if(selezionato==0){alert("...seleziona almeno una categoria di ballo, grazie."); return false;}

    Buon fine settimana e grazie 1000.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.