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

    Controllo campi in un form

    Salve a tutti.
    Nel mio sito vorrei inserire un form per l’invio di dati da parte del visitatore.
    Il form dovrebbe essere formato da 5 campi: Nome, Cognome, E-mail, Telefono, Messaggio.
    Avrei bisogno di un codice che controlli il completamento di tutti i campi e, in particolare, che nel campo “Telefono” siano inseriti solo numeri e in quello “E-mail” sia inserito un indirizzo e-mail.
    Potete aiutarmi?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    Per Verificare che siano tutti numeri usa questa

    function IsNumeric(Testo){
    var Caratteri= "0123456789";
    var IsNumero=true;
    var Char;
    for (i = 0; i<Testo.length && IsNumero == true; i++){
    Char = Testo.charAt(i);
    if (Caratteri.indexOf(Char) == -1) IsNumero = false;
    }
    return IsNumero;
    }
    Per il resto basta dare degli id alle input e poi verificare :P
    es.
    var Data = document.getElementById('Data').value;
    if (Data==''){
    alert('Inserire una data');
    return;
    }
    Per Quello mail devi usare una regular expression, o meglio quello è il modo + facile :P
    Ma qua non posso aiutarti :P

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    28
    Grazie!
    Provo il tutto e ti farò sapere...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    28
    Purtroppo non funziona... Non so dove sbaglio.
    Ho trovato un oscript che controlla l'inserimento di testo in tutti i campi, ma per il campo "telefono" vorrei che controllasse l'inserimento di soli numeri.
    Dovrei inserire il codice che hai postato nello script in questione, ma non so come fare...
    Lo script è questo:

    codice:
    <script language="JavaScript">
    <!--
    
    function controllacampi(){
    
    // controllo nome 
    
    if (document.formmail.nome.value.length <3 ){
    
    		alert ("Form incompleto! Scrivi il tuo nome");
    		document.formmail.nome.value="";
    		document.formmail.nome.focus();
    		return false;
    }
    
    // controllo cognome 
    
    if (document.formmail.cognome.value.length <3 ){
    
    		alert ("Form incompleto! Scrivi il tuo cognome");
    		document.formmail.cognome.value="";
    		document.formmail.cognome.focus();
    		return false;
    }
    		
    // controllo email
    if (document.formmail.email.value.indexOf('@', 0) == -1)
    {
            alert("E-mail in formato errato! Inserisci un indirizzo E-mail valido");   
    		document.formmail.email.value="";
    		document.formmail.email.focus(); 
            return false;
    }
    
    // controllo telefono
    if (document.formmail.telefono.value.length <3)
    {
            alert("Form incompleto! Scrivi il numero di telefono");   
    		document.formmail.telefono.value="";
    		document.formmail.telefono.focus(); 
            return false;
    }
    
    
    // controllo messaggio
    if (document.formmail.messaggio.value.length <3)
    {
    		alert ("Form incompleto! Scrivi il tuo messaggio");
    		document.formmail.messaggio.value="";
    		document.formmail.messaggio.focus(); 
    		return false;
    }
    
    } 
    
    //-->
    </script>

  5. #5
    Ciao!

    Una soluzione molto semplice, in base a quello cha ha postato lake86, potrebbe essere la seguente:

    Codice PHP:


    <script language="JavaScript">
    <!--

    function 
    IsNumeric(Testo){
    var 
    Caratteri"0123456789";
    var 
    IsNumero=true;
    var 
    Char;
    for (
    0i<Testo.length && IsNumero == truei++){
    Char Testo.charAt(i);
    if (
    Caratteri.indexOf(Char) == -1IsNumero false;
    }
    return 
    IsNumero;
    }


    function 
    controllacampi(){

    // controllo nome 

    if (document.formmail.nome.value.length <){

            
    alert ("Form incompleto! Scrivi il tuo nome");
            
    document.formmail.nome.value="";
            
    document.formmail.nome.focus();
            return 
    false;
    }

    // controllo cognome 

    if (document.formmail.cognome.value.length <){

            
    alert ("Form incompleto! Scrivi il tuo cognome");
            
    document.formmail.cognome.value="";
            
    document.formmail.cognome.focus();
            return 
    false;
    }
            
    // controllo email
    if (document.formmail.email.value.indexOf('@'0) == -1)
    {
            
    alert("E-mail in formato errato! Inserisci un indirizzo E-mail valido");   
            
    document.formmail.email.value="";
            
    document.formmail.email.focus(); 
            return 
    false;
    }

    // controllo telefono
    if(IsNumeric(document.formmail.telefono.value)) {

        if (
    document.formmail.telefono.value.length <3)
        {

                
    alert("Form incompleto! Scrivi il numero di telefono");   
                
    document.formmail.telefono.value="";
                
    document.formmail.telefono.focus(); 
                return 
    false;

        }

    }


    // controllo messaggio
    if (document.formmail.messaggio.value.length <3)
    {
            
    alert ("Form incompleto! Scrivi il tuo messaggio");
            
    document.formmail.messaggio.value="";
            
    document.formmail.messaggio.focus(); 
            return 
    false;
    }



    //-->
    </script> 

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    28
    Ragazzi scusatemi... non sono un esperto...
    Ho provato ad inserire il codice ma non funziona.
    Guidatemi passo passo, se potete.
    Questo è il form che devo controllare:

    codice:
     <form name=formmail action="mailer.php?action=send" method="post" onsubmit="return controllacampi()">
                  
                  <INPUT name=-----OGGETTO type=hidden value="MESSAGGIO DAL SITO-----">
                  <table width="452" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#FFCC99" class="stile2">
                    <tr bgcolor="#666666"> 
                      <td height="50" colspan="6"> <div align="center"> <span class="piccolo">Per 
                          inviare un messaggio, o per richiedere informazioni,
    
                          compilare il form sottostante.</span></div></td>
                    </tr>
                    <tr> 
                      <td colspan="6"><div align="center" class="piccolo"><font color="#000000">Tutti 
                          i campi sono obbligatori</font></div></td>
                    </tr>
                    <tr> 
                      <td width="11"></td>
                      <td width="81"> Nome</td>
                      <td colspan="4"> <input type="text" name="nome" size="40"> </td>
                    </tr>
                    <tr> 
                      <td width="11"></td>
                      <td width="81"> Cognome</td>
                      <td colspan="4"> <input type="text" name="cognome" size="40"> 
                      </td>
                    </tr>
                    <tr> 
                      <td width="11" rowspan="2"></td>
                      <td width="81"> E-mail</td>
                      <td colspan="4"> <input type="text" name="email" size="40"> 
                      </td>
                    </tr>
                    <tr> 
                      <td>Telefono</td>
                      <td colspan="4"><input name="telefono" type="text" id="telefono" size="40"></td>
                    </tr>
                    <tr> 
                      <td width="11"></td>
                      <td width="81"> Messaggio</td>
                      <td colspan="4"> <textarea name="messaggio" cols="40" rows="5" class="scroll"></textarea> 
                      </td>
                    </tr>
                    <tr> 
                      <td width="11"></td>
                      <td width="81"></td>
                      <td colspan="4"></td>
                    </tr>
                    <tr> 
                      <td width="11" height="36"> </td>
                      <td height="36" width="81"></td>
                      <td width="49" height="36"> </td>
                      <td width="73" height="36"> <input type="submit" name="invio" value="  Invia  "> 
                      </td>
                      <td width="85" height="36"> <div align="center"> 
                          <input type="reset" name="cancella" value="Cancella">
                        </div></td>
                      <td width="153" height="36"></td>
                    </tr>
                  </table>
                  
    
                </form>
    Presumo che nel codice che usavo precedentemente si debba cancellare la parte che controllva il campo "telefono", ma non so come collegare questo campo al nuovo codice che mi avete fornito.
    Come faccio a collegare il campo "telefono" al codice che controlla l'inserimento di soli numeri? Eventualmente l'utente non avesse compilato correttamente il campo, dovrebbe apparire la solita finestra di avviso: alert("Form incompleto! Scrivi il numero di telefono").

    Grazie ancora...

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.