Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187

    [Javascript] Controllo checkbox

    Salve, ho un problemino con javascript:

    <form action = "....." method = POST name = "some">

    <INPUT TYPE='checkbox' NAME='chk' VALUE='1'>1
    ............................................
    <INPUT TYPE='checkbox' NAME='chk' VALUE='8'>8
    <INPUT TYPE='button' VALUE='invia_richiesta' ONCLICK = "...">
    </form>

    Vorrei che quando premo sul pulsante per inviare le informazioni, parta un controllo javascript, che controlli che almeno una delle 8 caselle sia stata spuntata; altrimenti appare un alert.

    Potete darmi gentilmente il codice?
    Grazie

  2. #2
    Intanto i checkbox devono avere nomi diversi, e poi il codice dovrebbe essere questo:
    codice:
    var i;
    var k=0;
    for (i=0;i<k;i++){
    !document.some.chk[i].checked;
    alert("Almeno uno dei campi devono essere spuntati!");
    }
    Attenzione ai checkbox devi assegnare un nome di tipo chk0, chk1... ricordandoti di far partire la numerazione da zero.
    Dovrebbe essere giusto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Smal, il tuo discorso e` contradditorio e lo script contiene errori.

    I checkbox possono avere lo stesso nome: in tal caso formano una collezione, cui si accede tramite un vettore. Invece due o piu` oggetti nella stessa pagina non possono avere id uguale.

    Tornando al problema di brumac.

    Per far controlalre il form all'invio, devi aggiungere nel tag form:
    <form action="....." method="post" name="some" onsubmit="return controllo(this);">

    In tal caso la funzione di controllo sara` del tipo:
    codice:
    function controllo(ff) {
      var selez = 0;
      for(var i=0; i<ff.chk.length; i++) {
        if(ff.chk[i].checked) selex++;
      }
      if(selez <= 0) {
        alert("devi selezionare almeno un chcekbox");
        // ...
        return false;
      }
      return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <script>
    function controlla(frm) {
    var rv = false;
    for (var i=0;i<frm.elements.length;i++){
     if (frm.elements[i].name=="chk" && frm.elements[i].ckeched) rv=true;
    }
    if (rv) {
      frm.submit();
    } else {
      alert("Almeno uno dei campi devono essere spuntati!");
    }
    }
    </script>
    ...
    <INPUT TYPE='button' VALUE='invia_richiesta' ONCLICK="controlla(this.form)">
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.