Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: validazione form

  1. #1
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006

    validazione form

    ho un form con 2 checkbox che per comodità hanno lo stesso nome

    mi servirebbe controllare prima dell'invio del form che almeno uno dei 2 sia selezionato (no...non posso usare un radio )
    ho provato così
    codice:
    onclick="if ((checkbox.checked==false)) {alert('riempire tutti i campi');return false;}">
    ma in pratica se è selezionato solo il primo dei 2 checbox (che si chiamano appunto checkbox) nun va

    come posso risolvere? (senza differenziare i nomi dei checkbox o optare per un radio)

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Checkbox e` parola riservata. Non va bene come nome dei campi.

    Per il controllo che almeno uno sia checked:
    codice:
    function controlla_cb(ff){
      var cc = ff.NOMECHECKBOX;
      if(!cc[0].checked && !cc[1].checked) {
        alert("devi selezionare almeno un ccheckbox");
        return false;
      }
      return true;
    }
    Questa va chiamata:
    <form ... onsubmit="controlla_cb(this);">

    Non so su che elemento valutavi l'onclick, ma in ogni modo non credo sia una cosa furba.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    perchè?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Mich_
    Non so su che elemento valutavi l'onclick, ma in ogni modo non credo sia una cosa furba.
    E` questo che chiedevi?
    Perche` lo script non risponde se il form lo invii tramite tastiera.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    abbe...questo è un problema.
    ricapitoliamo la situazione

    ho 5 checkbox....devo controllare che almeno uno sia checkato.

    che mi consigli di fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Conviene fare un loop.

    Dovresti dire che nomi hanno i tuoi checkbox, altrimenti devo andare a caso.

    Potrebbero avere tutti lo stesso nome (allora sono una collezione di oggetti) oppure potrebbero avere un nome che include un numero.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    Originariamente inviato da Mich_
    Conviene fare un loop.

    Dovresti dire che nomi hanno i tuoi checkbox, altrimenti devo andare a caso.

    Potrebbero avere tutti lo stesso nome (allora sono una collezione di oggetti) oppure potrebbero avere un nome che include un numero.
    la seconda che hai detto.
    si chiamano sis0-->sis4

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    function controlla_cb(ff, nom max){
      var n = 0;
      var cc;
      for (var i=0; i<max; i++)
        cc = ff.elements[nom+i];
        if(cc[i].checked) n++;
      }
      alert ("sono selezionati "+n+" checkbox");
      if(n==0) {
        alert("devi selezionare almeno un ccheckbox");
        return false;
      }
      return true;
    }
    Va chiamata tramite:
    <form ... onsubmit="controlla_cb(this, 'sis', 5);">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    un funziona.....mi dice che ci manca una )
    :master:

  10. #10
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    ok...messo in questo modo (aggiunta una , e una { )
    codice:
    <script language="javascript">
    function controlla_cb(ff, nom, max){
      var n = 0;
      var cc;
      for (var i=0; i<max; i++) {
        cc = ff.elements[nom+i];
        if(cc[i].checked) n++;
      }
      alert ("sono selezionati "+n+" checkbox");
      if(n==0) {
        alert("devi selezionare almeno un ccheckbox");
        return false;
      }
      return true;
    }
    </script>
    mi diche che checked è nullo o non è un oggetto

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.