Visualizzazione dei risultati da 1 a 7 su 7

Discussione: contare checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    contare checkbox

    ciao, io ho piu checkbox chiamati per esempio:
    <input type="checkbox" name="pf1" id="pf1" value="pippo">
    <input type="checkbox" name="pf2" id="pf2" value="pluto">
    <input type="checkbox" name="pf3" id="pf3" value="topolino">
    <input type="checkbox" name="pf4" id="pf4" value="minni">

    vorrei contare con javascript quanti di questi sono selezionati,come si fa?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    function contacheckbox(ff) {
    // ff contiene l'oggetto form
    var conto = 0;
    for(var i=0; i<ff.elements.length; i++) {
      var el = ff.elements[i];
      if(el.type == 'checkbox') {
        if(el.checked) conto++;
      }
    }
    alert("ci sono "+conto+" checkbox selezionati");
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ciao a tutti,
    Mi trovo anche io a dover fare una cosa simile. Però non so qunati checkbox ci sono. Usando forms.elements.lenght mi restituisce undefined se c'é una sola checkbox. Come potrei risolvere il problema?
    E' possibile intercettare se forms.elements.lenght mi restituisce undefined.

    Spero di essermi spiegato
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    function contacheckbox(ff) {       // ff contiene il valore dell'attributo id del form
      var inpt = document.getElementById(ff).getElementsByTagName('input');
      var conto=0;
      for(var i=0; i<inpt.length; i++) {
        if(inpt[i].type == 'checkbox') conto++;
      }
      alert("ci sono "+conto+" checkbox");
    }
    Nota che in questo caso si contano tutti i checkbox, non solo quelli selezionati
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Il mio problema è che ciclo tutti i checkbox e tramite forms.elements.nomecheckbox.lenght recupero il numero di checkbox presenti. Però se c'é una sola checkbox forms.elements.nomecheckbox.lenght mi restituisce undefined.
    Ora ho fatto una prova e sembra funzionare:
    se forms.elements.nomecheckbox.value mi restituisce undefined significa che c'é più di una checkbox e faccio un ciclo per tutte le checkbox. Se c'é una sola checkbox forms.elements.nomecheckbox.value mi restituisce il valore della checkbox.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma perche` continui ad usare tecniche da HTML2? Potresti trovare browser che non supportano quel linguaggio.

    Il mio consiglio e` di usare gli strumenti del DOM, che sono supportati da tutti i browser (salvo forse NN4 e IE5.0).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Grazie, come potrei applicare gli strumenti del DOM in questio caso? Puoi farmi un esempio? Grazie

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.