Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    23

    form

    Salve a tutti,
    sto cercando di fare un form di registrazione, avrei bisogno di un aiuto. Non riesco a capire come mai non vengono effettuati controllo della funzione check_form. Di seguito il codice:

    <script language="javascript" type="text/javascript">
    function check_form(f){
    //è necessario controllare che le due psw inserite coincidano
    //verificare se l'if è corretto
    var msg="Sono stati rilevati i seguenti errori:";
    var email_pattern=/^w+@([\w.])+\w+$/;
    var error=false;

    if(f.Nome.value==""){
    msg=msg+"\n Campo nome obbligatorio.";
    error=true;
    }
    if(f.Cognome.value==""){
    msg=msg+"\n Campo cognome obbligatorio.";
    error=true;
    }
    if(!email_pattern.test(f.mail.value)){
    msg=msg+"\n Campo e-mail non corretto.";
    error=true;
    }
    var i=0;
    var a_sel=false;
    while(i<f.radio.length && !a_sel)
    {
    if(f.radio.checked)
    a_sel=true;
    i++;
    }
    if(!a_sel){
    msg=msg+"\nSelezionare il posizionamento del menu";
    error=true;
    }
    if(f.Colore.selected==false){
    msg=msg+"\nSelezionare il colore di sfondo";
    error=true;
    }
    if(f.psw.value==f.Controllo_psw.value){ //sarà corretto psw.value
    msg=msg+"\nInserire di nuovo il controllo password!!";
    error=true;
    }
    if(f.usr.value==""){
    msg=msg+"\n Campo Username obbligatorio.";
    error=true;
    }
    if(error){
    alert(msg);
    return false;
    }
    else
    {
    if(f.radio.value==dx)
    {
    window.alert("Hai selezionato la destra");
    document.cookie+="Align: destra"
    }
    if(f.radio.value==sx)
    document.cookie+="Align: sinistra"
    if(f.radio.value==center)
    document.cookie+="Align: centro"

    var date = new Date();
    date.setTime(date.getTime()+(7*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();

    document.cookie="coockie=c"+expires+"; path=/";
    document.cookie="name="+escape(Nome)+"Cognome="+es cape(Cognome)+"Mail="+escape(mail)+"sfondo="+
    escape(Color)+"DimCar="+escape(DimCar)+"ColCar="+e scape(Colore2)+"Usr"+escape(usr)+" Password="+escape(psw);
    return true;
    }
    }
    function answer(f){
    document.URL="menu.html"
    }
    </script>

    all'interno del form la funzione viene chiamata con la riga seguente:

    <form name="Reg" action="javascript:answer(document.Reg)" method="post" target="_top" id="Reg" onsubmit="return(check_form(this))">
    Non capisco come mai se non inserisco alcun tipo di dato nel form non viene visualizzato alcun messaggio di avviso.
    Potreste aiutarmi, per favore. Un grazie anticipato.

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    posta anche tutto il codice del form.

    intanto sposto in JavaScript.

    quando posti codice ricorda di usare il tag apposito: code

    benvenuto

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e titoli esplicativi ed esaustivi, altrimenti la discussione viene chiusa

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    23
    ok scusatemi...
    ecco l'intero codice:
    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=utf-8" />
    <style type="text/css">
    .registra {
    	border:thick solid #0C3
    }
    form { width: 500px}
    </style>
    <title>Form di registrazione</title>
    <script language="javascript" type="text/javascript">
    function check_form(f){
    	var msg="Sono stati rilevati i seguenti errori:";
    	var email_pattern=/^w+@([\w.])+\w+$/;	
    	var error=false;
    	
    	if(f.Nome.value==""){
    		msg=msg+"\n Campo nome obbligatorio.";
    		error=true;
    		}
    	if(f.Cognome.value==""){
    		msg=msg+"\n Campo cognome obbligatorio.";
    		error=true;
    		}
    	if(!email_pattern.test(f.mail.value)){
    		msg=msg+"\n Campo e-mail non corretto.";
    		error=true;
    		}
    	var i=0;
    	var a_sel=false;
    	while(i<f.radio.length && !a_sel)
    	{
    		if(f.radio.checked)
    			a_sel=true;
    			i++;
    		}
    	if(!a_sel){
    		msg=msg+"\nSelezionare il posizionamento del menu";
    		error=true;
    		}
    	if(f.Colore.selected==false){
    		msg=msg+"\nSelezionare il colore di sfondo";
    		error=true;
    		}
    	if(f.psw.value==f.Controllo_psw.value){	
    		msg=msg+"\nInserire di nuovo il controllo password!!";
    		error=true;
    		}
    	if(f.usr.value==""){
    		msg=msg+"\n Campo Username obbligatorio.";
    		error=true;
    		}
    	if(error){
    		alert(msg);
    		return false;
    		}
    	else
    	{	
    		if(f.radio.value==dx)
    		{
    		window.alert("Hai selezionato la destra");
    		document.cookie+="Align: destra"
    		}
    		if(f.radio.value==sx)
    				document.cookie+="Align: sinistra"
    		if(f.radio.value==center)
    			document.cookie+="Align: centro"
    		
    		var date = new Date();
    		date.setTime(date.getTime()+(7*24*60*60*1000));
    		var expires = "; expires="+date.toGMTString();
    		
    		document.cookie="coockie=c"+expires+"; path=/";
    		document.cookie="name="+escape(Nome)+"Cognome="+escape(Cognome)+"Mail="+escape(mail)+"sfondo="+
    		escape(Color)+"DimCar="+escape(DimCar)+"ColCar="+escape(Colore2)+"Usr"+escape(usr)+" Password="+escape(psw);	
    		return true;
    	}
    }
    function answer(f){
    	var cookieTokens = mycookie.split(";");
    	
    	switch(mycookie[4])
    	{
    		case "dx":
    			document.URL="FrameDx";
    			break;
    		case "sx":
    			document.URL="FrameSx";
    			break;
    	}
    	document.URL="menu.html"
    }
    </script>
    </head>
    
    <body>
    <form name="Reg" action="javascript:answer(document.Reg)" method="post" target="_top" id="Reg" onsubmit="return(check_form(this))">
      <div class="registra"> 
        
    
    Nome:
          <input name="Nome" type="text" maxlength="30" />
        </p>
        
    
    Cognome:
          <input name="Cognome" type="text" maxlength="30" />
        </p>
        
    
    E-mail:
          <input name="mail" type="text" maxlength="30" />
        </p>
        <p align="center">Seleziona le tue preferenze sulla pagina:</p>
        
    
        
    	  <label>
            Colore sfondo	
          </label>
            <select name="Colore" id="Colore" >
            <option>Rosso</option>
            <option>Giallo</option>
            <option>Verde</option>
            <option>Nero</option>
            <option>Rosa</option>
            <option>Marrone</option>
            <option>Blu</option>
            <option>Viola</option>
            <option>Bianco</option>
            </select>
        </p>    
            <p align="center">Carattere:
    </p>
        
    
        
            Dimenzioni:
            <select name="DimCar" id="DimCar">
              <option>9</option>
              <option>10</option>
              <option>12</option>
              <option>14</option>
              <option>16</option>
              <option>18</option>
              <option>20</option>
              <option>22</option>
              <option>24</option>
              <option>26</option>
              <option>28</option>
              <option>30</option>
              <option>32</option>
              <option>34</option>
              <option>36</option>
              <option>38</option>
              <option>40</option>
            </select>
            Tipo:
            <select name="Tipo" id="Tipo">	
              <option>Arials</option>
              <option>Comic Sans</option>
              <option>Times new roman</option>
            </select>
            Colore
             <select name="Colore2" id="Colore2">
               <option>Arancione</option>
               <option>Blu</option>
               <option>Giallo</option>
               <option>Marrone</option>
               <option>Nero</option>
               <option>Oro</option>
               <option>Rosa</option>
               <option>Rosso</option>
               <option>Verde</option>
               <option>Viola</option>
             </select>
    	  </label>
        </p>
        <p align="center" >Posizione del menu:</p>
        <p align="center">
          <label>
            <input type="radio" name="radio" id="dx" value="dx" />
            destra</label>
          <label>
            <input type="radio" name="radio" id="sx" value="sx" />
            sinistra</label>
          <label>
            <input type="radio" name="radio" id="center" value="center" />
            centro</label>
        </p>
        <p align="center">Dati di registrazione:</p>
        
    
    
          <label>Username
            <input type="text" name="usr" id="usr" />
          </label>
        </p>
        
    
    
          <label>Password:
            <input type="password" name="psw" id="psw" />
          </label>
        </p>
        
    
    
          <label>Inserire nuovamente password:
            <input type="password" name="Controllo psw" id="Controllo psw" />
          </label>
        </p>
        <p align="center">
          <label>
            <input type="submit" name="Invia" id="Invia" value="Registra" />
          </label>
        </p>
      </div>
    </form>
    </body>
    </html>

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    manca un underscore tra Controllo e psw
    codice:
    <input type="password" name="Controllo psw" id="Controllo psw" />
    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    23
    è vero...grazie mille

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.