Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    controllo concatenato checkbox con stesso nome

    Salve a tutti,
    stò provando a rimettere mano ad un modulo di registrazione fatto in java.
    Il modulo consente di selezionare alcune scelte tramite dei checkbox
    Codice PHP:
    <tr><td width="10" class="rigatitolo"><input type="checkbox" name="flag" value="PARTECIPAT+ATTENDANCE+PREPROGRA"></td><td class="rigatitolo">Pre Program</td></tr>          
     <
    tr><td width="10" class="rigatitolo"><input type="checkbox" name="flag" value="PARTECIPAT+ATTENDANCE+MONDAY"></td><td class="rigatitolo">Monday</td></tr
    <
    tr><td width="10" class="rigatitolo"><input type="checkbox" name="flag" value="PARTECIPAT+ATTENDANCE+TUESDAY"></td><td class="rigatitolo">Tuesday</td></tr>
    <
    tr><td width="10" class="rigatitolo"><input type="checkbox" name="flag" value="PARTECIPAT+ATTENDANCE+WEDNESDAY"></td><td class="rigatitolo">Wednesday</td></tr>
    <
    tr><td width="10" class="rigatitolo"><input type="checkbox" name="flag" value="PARTECIPAT+ATTENDANCE+THURSDAY"></td><td class="rigatitolo">Thursday</td></tr
    l'unica cosa che differenzia i checkbox è il "value" dato che il valore "name" è lo stesso per tutti

    al submit è già applicata una funzione che fà scatenare la registrazione.
    vorrei modificarla inserendo un controllo che: se spuntato il primo check con valore "PARTECIPAT+ATTENDANCE+PREPROGRA"
    affinchè il submit abbia effetto deve almeno essere spuntato un ulteriore check dei seguenti 4, altrimenti compaglia un avviso di alert
    sapete consigliarmi o un fare un esempio su come procedere e come recueprare il valore?

    Grazie per la disponibilità

    Roberto

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    nella funzione che gia' hai, che suppongo venga richiamata cosi'
    <form onsubmit="return tuaFunzione(this)">
    codice:
    function tuaFunzione(f){
      var ulteriore=false;
    
      if(f.flag[0].checked){
        for(var k=1,l=f.flag.length;k<l;k++){
          if(f.flag[k].checked) {ulteriore=true;break;}
        }
        if(!ulteriore){
          alert('se selezioni il primo devi selezionarne almeno un altro');
          return false;
        }
      }
    ...resto dei tuoi controlli...
    }
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    innanzitutto grazie per la celere risposta,
    ma il problema è che la funzione viene chiamata al momento del click sul bottone e non sul form
    i checkbox in totale sono 16 e prelevati da DB, mentre il controllo deve essere effettuato sui primi 5
    - se 1 è checcato e almeno uno degli altri 4 è checcato OK
    - se 1 solo è checcato deve ritornare false mostrare un avviso e non avviare la funzione alla classe di registrazione (ritornare alla maschera)
    - se uno degli altri 4 check sono flaggati la funzione può partire senza problemi

    grazie ancora per l'assistenza.

    Roberto

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