Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    controllo form campi radio multipli

    Salve a tutti, ho un form fatto da 20 gruppi di campi radio del tipo:

    codice:
    <form action="pagina2.asp" method="post" name="form1" onsubmit="return rb_controllo()">
    
    d1
      <input type="radio" name="d1" id="radio" value="0" />
    opzione1
      <input type="radio" name="d1" id="radio2" value="1" />
    opzione2
    
    d2
      <input type="radio" name="d2" id="radio5" value="0" />
    opzione1
      <input type="radio" name="d2" id="radio6" value="1" />
    opzione2
      
    d3
      <input type="radio" name="d3" id="radio10" value="1" />
    opzione1
      <input type="radio" name="d3" id="radio11" value="1" />
    opzione2
      </form>
    ho la necessità di controllare che almeno una di queste opzioni devono essere selezionate per ogni gruppo, girando per la rete ho trovato una piccola soluzione che ho adattato

    codice:
     function rb_controllo(){
                    var rb_scelto = false;
      for (ii=1; ii < 21; ii++) { 
      txt = "d" + ii;          
                    for (counter = 0; counter < document.form1.txt.length; counter++) {
                          
                        if (document.form1.txt[counter].checked) 
                            rb_scelto = true;
                    }
      }
                    if (!rb_scelto) {
                        alert("Compilare tutti i campi");
                        return (false);
                    }
                    return (true);
                }
    I campi del form sono 20, ne ho messo 3 per semplificare il tutto, lo script non riconosce il valore txt infatti mi da l'errore "Uncaught exepted document.form1.txt.length " o qualcosa del genere.

    Grazie in anticipo a tutti quelli che vogliono aiutarmi.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    for (counter = 0; counter < document.form1.elements[txt].length; counter++) { prova così
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Beh, si vedeva che ci voleva la mano di un Esperto per risolvere la questione
    Posto lo script per intero e funzionante, magari potrebbe servire a qualcuno

    codice:
    <script type="text/javascript">
                function rb_controllo(){
                    var rb_scelto = false;
      for (ii=1; ii < 21; ii++) { 
      txt = "d" + ii;          
                    for (counter = 0; counter < document.form1.elements[txt].length; counter++) {
                           
                        if (document.form1.elements[txt][counter].checked) {
                            rb_scelto = true;
                            break;
                        }
                        else {
                            rb_scelto = false;
                        }
                        
                    }                    
      }
                    if (!rb_scelto) {
                        alert("Compliare tutti i campi");
                        return (false);
                    }
                    return (true);
                }
            </script>
    Grazie, di nuovo.

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.