Controllo cb spuntata

  • Creatore Discussione Creatore Discussione navajo75
  • Data di inizio Data di inizio

navajo75

Utente Attivo
16 Mar 2012
103
1
18
Salve,

voglio controllare che una checkbox venga selezionata, altrimenti mando a video un popup che avvisa di spuntarla.
Con il seguente codice, il popup esce fuori, ma quando lo chiudo, sebbene la cb non sia stata spuntata, vado comunque alla pagina successiva (quella settata nell'action del form).

HTML:
<script type="text/javascript">
function cbCheck(){
  cbObj = document.getElementById('cb');
  if (!cbObj.checked)
    alert("Devi accettare le condizioni per procedere oltre");
  }
</script>

<form id="form1" name="form1" method="post" action="manda.html">
  <label>
  <input type="checkbox" name="privacy" id="cb" />
  </label>
  <label>
  <input type="submit" name="button" id="button" value="Controlla" onclick="cbCheck()" />
  </label>
</form>

Perchè???
 
Ciao,
devi bloccare l'invio del form con return false

prova cosi:
ho messo il richiamo della funzione sul tag form all'evento onsubmit, passeremo alla funzione il form in modo da poter eseguire il submit dopo il controllo sulla checkbox
HTML:
<html>
    <head>
        <script type="text/javascript">
            function cbCheck(form){
                cbObj = document.getElementById('cb');
                if (!cbObj.checked) {
                    alert("Devi accettare le condizioni per procedere oltre");
                }else{
                    form.submit();
                }                
            }
        </script>
    </head>
    <body>
        <form id="form1" name="form1" method="post" action="manda.html" onsubmit="cbCheck(this);return false">
            <label>
                <input type="checkbox" name="privacy" id="cb" />
            </label>
            <label>
                <input type="submit" name="button" id="button" value="Controlla"/>
            </label>
        </form>
    </body>
</html>
 

Discussioni simili