Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385

    Validazione+controllo radio button

    Ciao, ho 6 radio button raggruppati a gruppi di 2. Quelli appartententi allo stesso gruppo hanno lo stesso nome. Ci sono quindi 3 nomi. I radio button possono assumere il valore "si" oppure "no".

    Vorrei scrivere una funzione che invii il form solo se i radiobutton non sono vuoti e se è stato scelto si in almeno un radiobutton.


    es.

    o si o no

    o si o no

    o si o no


    se l'utente li lascia vuoti allora il fomr non deve essere inviato. Ciò avviene anche se l'utente ha scelto tutti no.

    Io avevo provato così ma non funziona:





    Grazie
    Codice PHP:
     <script type="text/javascript">
        
    // <!--
    function validaConsenso(){


                var 
    mod document.getElementById('modulo')
                var 
    mod_i mod.getElementsByTagName('input');
            
                
                for (
    i=0i<mod_i.lengthi++) {
                    if (
    mod_i[i].type == 'radio') {
                        if (!
    mod_i[i].checked){
                        
                        
    alert('Errore: per inviare il curriculum devi accettare almeno una condizione.');            
                        return 
    false;
                    
                        }
                    }
                }
                
       
       
                       if (
    document.modulo.consTrattamento[1].value=='no' && document.modulo.consConservazione[1].value=='no' && document.modulo.consComunicazione[1].value=='no'){
       
                       
    alert('Errore: per inviare il curriculum devi accettare almeno una condizione.');
                       return 
    false;
                       }else
       
                      return 
    true;
       
    }

        -->
        
    </script> 

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi:
    codice:
    <script type="text/javascript">
      
    function validaConsenso(){
    
    
                var mod = document.getElementById('modulo')
        
                         if (!mod.consTrattamento[1].checked && !mod.consTrattamento[0].checked ){
                       alert('Errore: Seleziona il consenso.');            
                        return false;
                }else if (!mod.consConservazione[1].checked && !mod.consConservazione[0].checked ){
                       alert('Errore: Seleziona la conservazione.');            
                        return false;
                }else if (!mod.consComunicazione[1].checked && !mod.consComunicazione[0].checked ){
                       alert('Errore: Seleziona la comunicazione.');            
                        return false;
                }else if (document.modulo.consTrattamento[1].checked && document.modulo.consConservazione[1].checked && document.modulo.consComunicazione[1].checked){
       
                       alert('Errore: per inviare il curriculum devi accettare almeno una condizione.');
                       return false;
                       }
       
    }
    
        </script>
    Non l'ho testato protrebbe non funzionare, in tal caso posta l'eventuale errore
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    grazie, ho provato il tuo script ma ha un po' di problemi:
    con firefox non funziona proprio, con IE invece se prima metto tutti e tre no e poi uno lo cambio in si nn funziona

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
      
    function validaConsenso(mod){ 
        
                         if (mod.consTrattamento[1].checked == false && mod.consTrattamento[0].checked == false ){
                       alert('Errore: Seleziona il consenso.');            
                        return false;
                }else if (mod.consConservazione[1].checked == false && mod.consConservazione[0].checked == false ){
                       alert('Errore: Seleziona la conservazione.');            
                        return false;
                }else if (mod.consComunicazione[1].checked == false && mod.consComunicazione[0].checked == false){
                       alert('Errore: Seleziona la comunicazione.');            
                        return false;
                }else if (document.modulo.consTrattamento[1].checked && document.modulo.consConservazione[1].checked && document.modulo.consComunicazione[1].checked){
       
                       alert('Errore: per inviare il curriculum devi accettare almeno una condizione.');
                       return false;
                       }
       
    }
    
        </script>
    </head>
    
    <body>
    <form name="modulo" id="modulo" method="post" action="" onsubmit="return validaConsenso(this)">
      
    
    Comunicazione
        <input name="consComunicazione" type="radio" value="si" />
      si
      <input name="consComunicazione" type="radio" value="no" />
      no</p>
      
    
    Trattamento    
        <input name="consTrattamento" type="radio" value="si" />
        si
        <input name="consTrattamento" type="radio" value="no" />
        no  </p>
      
    
    Conservazione
        <input name="consConservazione" type="radio" value="si" />
        si
        <input name="consConservazione" type="radio" value="no" />
      no</p>
      
    
        <input type="submit" name="Submit" value="Submit" />
            </p>
    </form>
    </body>
    </html>
    Cosi funziona. Pre la prossima volta quando uno script non funziona riporta sempre l'eventuale errore riscontrato cosi da poter aiutare altri utenti + esperti.

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    grazie mille ora funziona correttamente. Cosa c'era che non andava? era perchè bisognava ggiungere l'id nel form oppure per il passaggio del nome del form alla funzione?
    Scusa ma sono poco pratico in javascript, lo capisco perchè so il c e il php ma un giorno mi metto a studiarlo seriamente per usare ajax. Per vedere gli errori devo abilitare da qualche parte una console?

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.