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

    Validazione radio e checkbox

    Ciao ho un semplice form con un campo radio nel quale bisogna inserire il proprio sesso :

    codice:
    <form id="vincolo" action="casa.php" name="vincolo" method="POST" onsubmit="return controlloDati();">
        <h2 class="sesso">
            Sesso <label style="color:blue;" for="maschio">Maschio : </label><input  name="sesso"  value="maschio" type="Radio">
             <label style="color:pink;"for="femmina">Femmina : </label><input  name="sesso" value="femmina" type="Radio">
                                        
        </h2>
    <fieldset>
             <h2>Spunta i numeri </h2>
             <input type="checkbox" name="numeri[]" value="0"/> 0
             
             <input type="checkbox" name="numeri[]" value="1"/> 1 
             
             <input type="checkbox" name="numeri[]" value="2"/> 2
    
    
             <input type="checkbox" name="numeri[]" value="3"/> 3
             
             <input type="checkbox" name="numeri[]" value="4"/> 4 
             
             <input type="checkbox" name="numeri[]" value="5"/> 5 
    
    
             <input type="checkbox" name="numeri[]" value="6"/> 6
             
             <input type="checkbox" name="numeri[]" value="7"/> 7 
             
             <input type="checkbox" name="numeri[]" value="8"/> 8 
    
    
             <input type="checkbox" name="numeri[]" value="9"/> 9
             
             <input type="checkbox" name="numeri[]" value="10"/> 10
        </fieldset>
    
    
    <input type="submit" name="submit" value="Invia"/> 
    </form>
    questa la validazione javascript:

    codice:
    <script type="text/javascript">
       function controlloDati(){
           if(document.vincolo.sesso.checked==false ){
               
                      alert("Perfavore specifica il sesso ");
                      return false;
            }
             if(document.vincolo.numeri[].checked==false  ){
               
                      alert("Perfavore specifica i numeri");
                      return false;
            }
            return true;
        
            return true;
        }
    
    
    </script>
    Perchè non funziona ?

    Non eseguo però il controllo e vado subito alla pagina , perchè?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Il tuo script va in errore perché hai usato come nomi dei checkbox "numeri[]" con le parentesi quadre e per questo in javascript dovresti usare
    codice:
    document.vincolo.elements['numeri[]']
    inoltre quando più elementi del form hanno lo stesso nome formano una "collezione" ed ogni elemento ha le sue proprietà.
    Quello che vorresti fare tu sarebbe
    codice:
    function controlloDati(){
    	if(document.vincolo.sesso[0].checked==false && document.vincolo.sesso[1].checked==false){
    		alert("Perfavore specifica il sesso ");
    		return false;
    	}
    	var almenoUno=false;
    	for(var i=0;i<document.vincolo.elements['numeri[]'].length;i++){
    		almenoUno=(almenoUno||document.vincolo.elements['numeri[]'][i].checked);
    	}
    	if(!almenoUno){
    		alert("Perfavore specifica i numeri");
    		return false;
    	}       
    	return true;
    }



  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Scusa am cosi non funziona ?

    document.vincolo.numeri[0]

  4. #4
    Quote Originariamente inviata da cassano Visualizza il messaggio
    Scusa am cosi non funziona ?
    Quello quotato da willybit funziona perfettamente....Grazie

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