Visualizzazione risultati 1 fino 5 di 5

Discussione: Problemi form con <input type="

  1. #1
    scpero non è connesso Neofita
    Data registrazione
    22-09-2010
    Residenza
    Milano
    Messaggi
    27

    Predefinito Problemi form con <input type="

    Ciao a tutti spero di essere nel posto giusto. Ho un form php per inviare mail, non riesco a farlo funzionare, se metto:
    1. <input type="submit" value="Invia"> mi passa direttamente a send.php
    2. <input id="bottone" class="button_text" type="button" name="bottone" value="Invia" onclick="validate_form();"/> mi esegue la function validate_form() ma non va piu a send.php.
    Cosa posso fare? Allego script:

    Codice HTML:
    <!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" xml:lang="it" lang="it">                                                      
    <head>                                                                                                                   
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">                                                      
    <title>Atleti</title>                                                                                                    
    <script type="text/javascript" src="lists.js"></script>                                                         
    <link rel="stylesheet" type="text/css" href="css/view.css" media="all">    
    <script type="text/javascript" src="view.js"></script>                                                                   
    <script type="text/javascript" src="controllo.js"></script>     
    <script language="javascript"> 
    function validate_form() 
    { var mittente     = document.getElementById("NomeMitt").value;	
       var destinatario = document.getElementById("NomeDest").value;	   
       var email        = document.getElementById("EmailDest").value;	
       var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    
       if (mittente == "")
           {alert("Occorre inserire il mittente (Nome Cognome)!");
            document.getElementById("NomeMitt").focus();
            return false;
           }
       if (destinatario == "")
           {alert("Occorre inserire il mittente (Nome Cognome)!");
            document.getElementById("NomeDest").focus();
            return false;
           }
       if ((email == "") || (!email_reg_exp.test(email))) 
           {alert("Occorre inserire un corretto indirizzo email!");
            document.getElementById("EmailDest").focus();
            return false;
           }
    
    return true;
    }  
    
    <script language="javascript">                                                                                           
       function esci()                                                                                                       
       {parent.location="menuriservato.html"                                                                                 
       }                                                                                                                     
    </script>   
                                                                                                               
    </head>                                                                                                                  
    <body id="main_body" >                                                                                                   
                                                                                                                             
      <img id="top" src="immagini/top.png" alt="">                                                                           
      <div id="form_container">                                                                                              
      <h1><a>Invia Mail</a></h1>                                                                                                 
      <form id="form_56575" class="appnitro"  method="get" action="send.php">                                             
      <div class="form_description">                                                                                         
       <h2>Invia Mail</h2>                                                                                                       
      </div>    
      <?php
       $cognome = $_GET['v1'];
       $emaild  = $_GET['v2'];
      ?>                    
                                                                                           
      <ul >                                                                                                                  
        <li id="li_5" >                                                                                                      
        <label class="description" for="element_1">Nome Mittente </label>                                                         
        <div>                                                                                                                
          <input id="Nome Mittente" name="nomemittente" class="element text medium" type="text" maxlength="255"/>            
        </div>                                                                                                               
        </li>   
        <li id="li_6" >                                                                                              
        <label class="description" for="element_2">emailmittente </label>                                                        
        <div>                                                                                                                
          <input id="Email Mittente" name="emailmittente" class="element text medium" type="text" maxlength="255"/>          
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li id="li_1" >                                                                                                      
         <label class="description" for="element_1">Destinatario </label>                                                            
         <span>                                                                                                              
           <input id="Destinatario" name= "nomedestinatario" class="element text" maxlength="255" size="20" 
           value="<? echo $cognome; ?>"/>                           
           <label>Destinatario</label>                                                                                               
         </span>                                                                                                             
         <span>                                                                                                              
           <input id="Email Dest." name= "emaildestinatario" class="element text" maxlength="255" size="30" 
           value="<? echo $emaild; ?>"/>                     
           <label>Email Destinatario</label>                                                                                            
         </span>                                                                                                             
        </li>                                                                                                                
    
        <li id="li_8" >                                                                                                      
        <label class="description" for="element_8">Messaggio</label>                                                           
        <div>                                                                                                                
          <textarea name="commenti" rows="7" cols="70"></textarea><br>
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li class="buttons">                                                                                                 
         <input type="hidden" name="form_id" value="56575"/>                                                                 
         <input type="submit" value="Invia" onclick="validate_form(); return false;">
         <input type="reset" value="cancella">
         <input id="bottoneesc" class="button_text" type="button" name="bottoneesc" value="Esci" onclick="esci();"/>         
        </li>                                                                                                                
        </ul>                                                                                                                
        </form>                                                                                                              
                                                                                                                             
        <div id="footer">                                                                                                    
          Generated by CiroJW                                                                                                
        </div>                                                                                                               
      </div>                                                                                                                 
      <img id="bottom" src="immagini/bottom.png" alt="">                                                                     
      </body>                                                                                                                
    </html>
    [DS] Usa i tag di codice quando ne riporti ampi stralci, si legge meglio...
    Ultima modifica di dementialsite : 21-01-2011 alle ore 19.24.31

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Per inviare i dati devi usare un campo submit, e poi "catturarne" la pressione con l'attributo onsubmit del tag <form>.

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Hai fatto un bel po' di confusione... la soluzione più rapida per rimettere tutto a posto è:
    - togliere il gestore di evento onclick dal pulsante di submit
    - aggiungere il gestore di evento onsubmit="return validate_form()" al tag form

    Se vuoi puoi anche usare un pulsante ordinario ("button") invece di quello "submit", ma devi ricordarti che questo non compie da sé l'azione di inviare il modulo: dovrai invocare esplicitamente il metodo submit() sul form che viene coinvolto.

    Se posso darti un consiglio, quest'ultimo approccio non vale la pena per gestirlo: via CSS il pulsante di tipo "submit" può essere personalizzato esattamente come quello ordinario...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    scpero non è connesso Neofita
    Data registrazione
    22-09-2010
    Residenza
    Milano
    Messaggi
    27

    Predefinito

    Ciao, ho fatto come hai detto ma non è cambiato niente, passa comunque a send.php senza fare i controlli.

    Codice HTML:
    <!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" xml:lang="it" lang="it">                                                      
    <head>                                                                                                                   
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">                                                      
    <title>Atleti</title>                                                                                                    
    <script type="text/javascript" src="lists.js"></script>                                                         
    <link rel="stylesheet" type="text/css" href="css/view.css" media="all">    
    <script type="text/javascript" src="view.js"></script>                                                                   
    <script type="text/javascript" src="controllo.js"></script>     
    <script language="javascript"> 
     <!--
    function validate_form() 
    {
       // Variabili associate ai campi del modulo
       var mittente     = document.getElementById("NomeMitt").value;	
       var destinatario = document.getElementById("NomeDest").value;	   
       var email        = document.getElementById("EmailDest").value;	
    
       // Espressione regolare dell'email
        
       var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    
       if (mittente == "")
           {alert("Occorre inserire il mittente (Nome Cognome)!");
            document.getElementById("NomeMitt").focus();
            return false;
           }
       if (destinatario == "")
           {alert("Occorre inserire il mittente (Nome Cognome)!");
            document.getElementById("NomeDest").focus();
            return false;
           }
       if ((email == "") || (!email_reg_exp.test(email))) 
           {alert("Occorre inserire un corretto indirizzo email!");
            document.getElementById("EmailDest").focus();
            return false;
           }
    
    return true;
    }  
     
     //-->
    
    <script language="javascript">                                                                                           
       function esci()                                                                                                       
       {parent.location="menuriservato.html"                                                                                 
       }                                                                                                                     
    </script>   
                                                                                                               
    </head>                                                                                                                  
    <body id="main_body" >                                                                                                   
                                                                                                                             
      <img id="top" src="immagini/top.png" alt="">                                                                           
      <div id="form_container">                                                                                              
      <h1><a>Invia Mail</a></h1>                                                                                                 
      <form id="form_56575" class="appnitro"  method="get" action="send.php" onsubmit="return validate_form();">                                             
      <div class="form_description">                                                                                         
       <h2>Invia Mail</h2>                                                                                                       
      </div>    
      <?php
       $cognome = $_GET['v1'];
       $emaild  = $_GET['v2'];
      ?>                    
                                                                                           
      <ul >                                                                                                                  
        <li id="li_5" >                                                                                                      
        <label class="description" for="element_1">Nome Mittente </label>                                                         
        <div>                                                                                                                
          <input id="Nome Mittente" name="nomemittente" class="element text medium" type="text" maxlength="255"/>            
        </div>                                                                                                               
        </li>   
        <li id="li_6" >                                                                                              
        <label class="description" for="element_2">emailmittente </label>                                                        
        <div>                                                                                                                
          <input id="Email Mittente" name="emailmittente" class="element text medium" type="text" maxlength="255"/>          
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li id="li_1" >                                                                                                      
         <label class="description" for="element_1">Destinatario </label>                                                            
         <span>                                                                                                              
           <input id="Destinatario" name= "nomedestinatario" class="element text" maxlength="255" size="20" 
           value="<? echo $cognome; ?>"/>                           
           <label>Destinatario</label>                                                                                               
         </span>                                                                                                             
         <span>                                                                                                              
           <input id="Email Dest." name= "emaildestinatario" class="element text" maxlength="255" size="30" 
           value="<? echo $emaild; ?>"/>                     
           <label>Email Destinatario</label>                                                                                            
         </span>                                                                                                             
        </li>                                                                                                                
    
        <li id="li_8" >                                                                                                      
        <label class="description" for="element_8">Messaggio</label>                                                           
        <div>                                                                                                                
          <textarea name="commenti" rows="7" cols="70"></textarea><br>
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li class="buttons">                                                                                                 
         <input type="hidden" name="form_id" value="56575"/>                                                                 
         <input type="submit" value="Invia">
         <input type="reset" value="cancella">
         <input id="bottoneesc" class="button_text" type="button" name="bottoneesc" value="Esci" onclick="esci();"/>         
        </li>                                                                                                                
        </ul>                                                                                                                
        </form>                                                                                                              
                                                                                                                             
        <div id="footer">                                                                                                    
          Generated by CiroJW                                                                                                
        </div>                                                                                                               
      </div>                                                                                                                 
      <img id="bottom" src="immagini/bottom.png" alt="">                                                                     
      </body>                                                                                                                
    </html>                                                                                                                  
    Grazie, per l'assistenza.
    Ultima modifica di dreadnaut : 24-01-2011 alle ore 14.57.35

  5. #5
    scpero non è connesso Neofita
    Data registrazione
    22-09-2010
    Residenza
    Milano
    Messaggi
    27

    Predefinito

    Ciao, ho modificato la routine di controllo perchè c'erano i riferimenti ai campi da controllare errati, ma non cambia niente, comunque va a send.php:

    Codice HTML:
    <!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" xml:lang="it" lang="it">                                                      
    <head>                                                                                                                   
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">                                                      
    <title>Atleti</title>                                                                                                    
    <script type="text/javascript" src="lists.js"></script>                                                         
    <link rel="stylesheet" type="text/css" href="css/view.css" media="all">    
    <script type="text/javascript" src="view.js"></script>                                                                   
    <script type="text/javascript" src="controllo.js"></script>     
    <script language="JavaScript" type="text/javascript">
     <!--
    function validate_form() 
    {
       // Variabili associate ai campi del modulo
       var mittente     = document.getElementById("nomemittente").value;	
       var destinatario = document.getElementById("nomedestinatario").value;	   
       var email        = document.getElementById("emaildestinatario").value;	
    
       // Espressione regolare dell'email
        
       var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    
       if (mittente == "")
           {alert("Occorre inserire il mittente (Nome Cognome)!");
            document.getElementById("nomemittente").focus();
            return false;
           }
       if (destinatario == "")
           {alert("Occorre inserire il destinatario (Nome Cognome)!");
            document.getElementById("nomedestinatario").focus();
            return false;
           }
       if ((email == "") || (!email_reg_exp.test(email))) 
           {alert("Occorre inserire un corretto indirizzo email!");
            document.getElementById("emaildestinatario").focus();
            return false;
           }
    
    return true;
    }  
     
     //-->
    </script>   
    <script language="javascript">                                                                                           
       function esci()                                                                                                       
       {parent.location="menuriservato.html"                                                                                 
       }                                                                                                                     
    </script>   
                                                                                                               
    </head>                                                                                                                  
    <body id="main_body" >                                                                                                   
                                                                                                                             
      <img id="top" src="immagini/top.png" alt="">                                                                           
      <div id="form_container">                                                                                              
      <h1><a>Invia Mail</a></h1>                                                                                                 
      <form id="form_56575" class="appnitro"  method="post" action="send.php" onsubmit="return validate_form(this);">                                             
      <div class="form_description">                                                                                         
       <h2>Invia Mail</h2>                                                                                                       
      </div>    
      <?php
       $cognome = $_GET['v1'];
       $emaild  = $_GET['v2'];
      ?>                    
                                                                                           
      <ul >                                                                                                                  
        <li id="li_5" >                                                                                                      
        <label class="description" for="element_1">Nome Mittente </label>                                                         
        <div>                                                                                                                
          <input id="Nome Mittente" name="nomemittente" class="element text medium" type="text" maxlength="255"/>            
        </div>                                                                                                               
        </li>   
        <li id="li_6" >                                                                                              
        <label class="description" for="element_2">emailmittente </label>                                                        
        <div>                                                                                                                
          <input id="Email Mittente" name="emailmittente" class="element text medium" type="text" maxlength="255"/>          
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li id="li_1" >                                                                                                      
         <label class="description" for="element_1">Destinatario </label>                                                            
         <span>                                                                                                              
           <input id="Destinatario" name= "nomedestinatario" class="element text" maxlength="255" size="20" 
           value="<? echo $cognome; ?>"/>                           
           <label>Destinatario</label>                                                                                               
         </span>                                                                                                             
         <span>                                                                                                              
           <input id="Email Dest." name= "emaildestinatario" class="element text" maxlength="255" size="30" 
           value="<? echo $emaild; ?>"/>                     
           <label>Email Destinatario</label>                                                                                            
         </span>                                                                                                             
        </li>                                                                                                                
    
        <li id="li_8" >                                                                                                      
        <label class="description" for="element_8">Messaggio</label>                                                           
        <div>                                                                                                                
          <textarea name="commenti" rows="7" cols="70"></textarea><br>
        </div>                                                                                                               
        </li>                                                                                                                
                                                                                                                             
        <li class="buttons">                                                                                                 
         <input type="hidden" name="form_id" value="56575"/>                                                                 
         <input type="submit" value="Invia">
         <input type="reset" value="cancella">
         <input id="bottoneesc" class="button_text" type="button" name="bottoneesc" value="Esci" onclick="esci();"/>         
        </li>                                                                                                                
        </ul>                                                                                                                
        </form>                                                                                                              
                                                                                                                             
        <div id="footer">                                                                                                    
          Generated by CiroJW                                                                                                
        </div>                                                                                                               
      </div>                                                                                                                 
      <img id="bottom" src="immagini/bottom.png" alt="">                                                                     
      </body>                                                                                                                
    </html>
    Ultima modifica di dreadnaut : 24-01-2011 alle ore 14.57.15 Motivo: + tag [html] per leggbilità

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •