Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    15

    Controllo campi obbligatori

    Ciao a tutti,
    sto provando a mettere sul mio sito un form con invio dei dati alla mia email, girando su internet ho trovato questo form in html
    codice HTML:
    <form name="modulo" action="elabora_form.php" method="post" id="contact">                
    <p class="info_form">I campi con  <span class="asterisco">(*)</span> sono obbligatori.</p>                    
    <table>                    
    <td<b>DATIRICHIEDENTE</b</td>                
    </tr>                
    <tr>                    
    <td>Cognome e Nome/Ragione Sociale<span class="asterisco">(*)</span></td>
    <td><input type="text" name="nomerichiedente" id="nomerichiedente"  placeholder="Il tuo nome"  style="width:98%;">
    </tr>                
    <tr>                    
    <td>Telefono<span class="asterisco">(*)</span></td>
    <td><input type="text" name="telefonorichiedente" id="telefonorichiedente"  placeholder="Il tuo telefono"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Email<span class="asterisco">(*)</span></td>
    <td><input type="text" name="emailrichiedente" id="emailrichiedente"  placeholder="La tua Email"  style="width:98%;"></td>                
    </tr>
    <tr>                    
    <td><b>DATI IMPRESA</b></td>                
    </tr>                
    <tr>                    
    <td>Codice Fiscale</td><td><input type="text" name="codicefiscale" id="codicefiscale"  placeholder="Codice fiscale dell'impresa"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Numero REA</td><td><input type="text" name="numerorea" id="numerorea"  placeholder="Numero REA"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Provincia</td>
    <td><input type="text" name="provincia" id="provincia"  placeholder="Provincia dell'impresa"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Denominazione</td><td><input type="text" name="denominazione" id="denominazione"  placeholder="Denominazione"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Tipo Visura:</td>                    
    <td><select name="tipovisura">
    <option value="Ordinaria">Visura Ordinaria</option>
    <option value="Storica">Visura Storica
    </option>                    
    </select>                    
    </td>                
    </tr>                
    <tr>                   
    <td>Note:</td><td><textarea name="testo" cols="20" rows="7"></textarea></td>                
    </tr>                
    <tr>                    
    <td><b>DATI DI FATTURAZIONE</b></td>                
    </tr>                
    <tr>                    
    <td>Cognome e Nome/Ragione Sociale<span class="asterisco">(*)</span></td>
    <td><input type="text" name="nomefattura" id="nomefattura"  placeholder="Nome o Ragione Sociale intestazione fattura"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Indirizzo<span class="asterisco">(*)</span></td>
    <td><input type="text" name="indirizzofattura" id="indirizzofattura"  placeholder="Indirizzo per intestazione fattura"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Comune<span class="asterisco">(*)</span></td>
    <td><input type="text" name="comunefattura" id="comunefattura"  placeholder="Comune per intestazione fattura"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Codice Fiscale<span class="asterisco">(*)</span></td>
    <td><input type="text" name="codicefiscalefattura" id="codicefiscalefattura"  placeholder="Codice fiscale per intestazione fattura"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td>Partita IVA</td><td><input type="text" name="partitaivafattura" id="partitaivafattura"  placeholder="Partita IVA per intestazione fattura"  style="width:98%;"></td>                
    </tr>                
    <tr>                    
    <td><input type="checkbox" name="informativa" id="informativa" value="informativa" checked="checked"/> Accetto <a href="#" title="leggi la nostra informativa" class="informativa_link">l'informativa sulla privacy</a>.<br />                    <input type="text" id="fred" name="fred" style="display:none;"/></td>                
    </tr>                
    <tr>                    
    <td colspan="2" align="center"><input type="submit" id="submit" value="Invia email"></td>                
    </tr>                
    </table>
    con il relativo script in PHP
    Codice PHP:
                <?php            echo "DATI RICHIEDENTE:<br>";            
    echo 
    "Nome e Cognome/Ragione Sociale: " $_POST['nomerichiedente'] . "<br>";            
    echo 
    "Telefono: " $_POST['telefonorichiedente'] . " <br>";            
    echo 
    "Email: " $_POST['emailrichiedente'] . "<br>";            
    echo 
    "DATI IMPRESA:<br>";            
    echo 
    "Codice Fiscale: " $_POST['codicefiscale'] . "<br>";            
    echo 
    "Numero REA: " $_POST['numerorea'] . "<br>";            
    echo 
    "Provincia: " $_POST['provincia'] . "<br>";            
    echo 
    "Denominazione: " $_POST['denominazione'] . "<br>";            
    echo 
    "Tipo Visura: " $_POST['tipovisura'] . " <br>";            
    echo 
    "Note: " $_POST['note'] . "<br>";            
    echo 
    "DATI FATTURAZIONE:<br>";            
    echo 
    "Nome e Cognome/Ragione Sociale: " $_POST['nomefattura'] . "<br>";            
    echo 
    "Indirizzo: " $_POST['indirizzofattura'] . " <br>";            
    echo 
    "Comune: " $_POST['comunefattura'] . "<br>";            
    echo 
    "Codice Fiscale: " $_POST['codicefiscalefattura'] . "<br>";            
    echo 
    "Partita IVA: " $_POST['partitaivafattura'] . " <br>";                
    $intestazioni  "MIME-Version: 1.0\r\n";           
     
    //intestazioni per il mittente           
     
    $intestazioni .= "From: Richiesta Visura Camerale<info@studiosegi.it>\r\n";
    $messaggio="Questa pratica e' stata richiesta dal sito.\n            
    DATI RICHIEDENTE\n            
    Nome e Cognome/Ragione Sociale: " 
    $_POST['nomerichiedente'] . "\n            
    Telefono: " 
    $_POST['telefonorichiedente'] . "\n            
    Email: " 
    $_POST['emailrichiedente'] . "\n            
    DATI IMPRESA\n            
    Codice Fiscale: " 
    $_POST['codicefiscale'] . "\n            
    Numero REA: "
    $_POST['numerorea'] . "\n            
    Provincia: "
    $_POST["provincia"] . "\n            
    Denominazione: "
    $_POST['denominazione'] . "\n            
    Tipo Visura: " 
    $_POST['tipovisura'] . "\n            
    Note: "
    $_POST["note"] . "\n            
    DATI FATTURAZIONE\n            
    Nome e Cognome/Ragione Sociale: " 
    $_POST['nomefattura'] . "\n           
    Indirizzo: "
    $_POST['indirizzofattura'] . "\n            
    Comune: "
    $_POST["comunefattura"] . "\n            
    Codice Fiscale: "
    $_POST['codicefiscalefattura'] . "\n            
    Partita IVA: "
    $_POST['partitaivafattura'];                

    mail"info@studiosegi.it""Invio email da: " $_POST['nome'], $messaggio$intestazioni );        ?>
    Di php non ci capisco praticamente nulla! lo script funziona, manda l'email che mi serve corretta, ho personalizzato la pagina dopo ll'invio del form compilato, ma adesso mi servirebbe che i campi che ho contrassegnato con l'asterisco siano obbligatori...
    ho cercato anche sul forum, ma non essendo pratica non riesco..
    qualcuno può darmi una mano?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    cerca form obsubmit javascript
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Una soluzione veloce potrebbe essere l'attributo required di HTML5
    codice:
    <input type="text" name="nomerichiedente" id="nomerichiedente"  placeholder="Il tuo nome"  style="width:98%;" required>
    <input type="email" name="emailrichiedente" id="emailrichiedente"  placeholder="La tua Email"  style="width:98%;" required>
    

    Nota il type del secondo input

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    15
    Grazie! credevo che il controllo dei campi si poteva fare solo con php invece...

    E grazie anche per il type
    Ultima modifica di nenuccia; 15-06-2015 a 09:47

  5. #5
    Quote Originariamente inviata da nenuccia Visualizza il messaggio
    Grazie! credevo che il controllo dei campi si poteva fare solo con php invece...

    E grazie anche per il type
    Non c'è di che.
    Comunque non è un sistema affidabile al 100%
    Nei browser che non supportano HTML5 (i browser meno recenti) non funziona affatto, e non funziona nemmeno nei prodotti Apple: il browser Safari, l'iPhone e l'iPad.
    La validazione con PHP andrebbe comunque fatta.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    15
    ah.. un po un problema soprattutto per il fatto dell'apple!

    sai aiutarmi per la validazione con php?

  7. #7
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    non funziona nemmeno nei prodotti Apple: il browser Safari, l'iPhone e l'iPad.
    Solite furbate della mela bacata!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Quote Originariamente inviata da nenuccia Visualizza il messaggio
    ah.. un po un problema soprattutto per il fatto dell'apple!

    sai aiutarmi per la validazione con php?
    Visto che il form invia soltanto una mail, possiamo limitarci ad una validazione Javascript con un sistema anti bot (una specie di captcha).
    Validare lato client ci eviterà di dover ripopolare automaticamente il form in caso di errori.
    Aggiungi questo snippet, nell'head, nella pagina del modulo:
    codice:
    <script type="text/javascript">
    //i names dei campi obbligatori
    var required=Array('nomerichiedente','telefonorichiedente','emailrichiedente','nomefattura','indirizzofattura','comunefattura','codicefiscalefattura');
    //la funzione di validazione
    window.onload=function(){
     document.getElementById('contact').onsubmit=function(){
      this.action='ela'+'bora_fo'+'rm.php';
      var valid=true;
      for(var i=0; i<required.length; i++){
       var field=document.forms['modulo'].elements[required[i]];
       if(field.value==''){
        field.className='not_valid';
        if(valid){field.focus();}
        valid=false;
       }else{
        field.className='';
       }
      }
      return valid;
     }
    }
    </script>
    <style type="text/css">
    .not_valid{
     box-shadow:0px 0px 4px red;
    }
    #contact input{
     transition: all 0.5s ease;
    }
    </style>
    il tuo form resta uguale, devi solo eliminare il contenuto dell'attributo "action" di modo che non sia visibile ai bot, ci penserà la funzione di validazione ad aggiungere l'action corretto.
    codice:
    <form name="modulo" action="" method="post" id="contact">
    Fammi sapere come ti sembra nell'insieme.

  9. #9
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Visto che il form invia soltanto una mail, possiamo limitarci ad una validazione Javascript con un sistema anti bot (una specie di captcha).
    Fermo restando che una validazione lato server è comunque auspicabile dato che javascript potrebbe essere disabilitato.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    15
    Ma sei un grande! funziona e va benissimo per quello che mi serve! provato anche da iphone e funziona alla grande, se il campo obbligatorio non è compilato ti ci "rimanda".
    Grazie mille davvero!!!

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.