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

    Aiutino per live validation: Inviare con javascript il form...

    Salve a tutti,
    premettendo che non ne capisco molto di javascript(si vedrà dalla mia domanda sicuramente) vengo subito al mio "dilemma"....
    spulciando su internet alla ricerca di un "validatore di form" in javascript ho trovato questa simpatica libreria che fa al caso mio: Live validation.

    Ho provato ad utilizzarla su un mio form di registrazione e dopo che ci sono stato su un giorno finalmente ha funzionato(per quanto riguarda la validazione) alla perfezione...

    Adesso sorge il mio problema: Come faccio a inviare il form alla pagina di destinazione facendo in modo che "si porti con se pure tutti i valori dei campi del form"?

    ho provato a fare il controllo:
    Codice PHP:
          if(!valid){
              
    alert('Uno o piu campi non sono stati compilati in modo corretto');
            return 
    false;
          }else{ 
              
    document.form.submit;
            return 
    true;
          } 
    ma nella pagina di destinazione tutte le variabili "$_POST" sono vuote!!!

    Non so come risolvere...Qualcuno sa darmi una mano????
    Ve ne sarei grato

    Posto l'intero codice:
    Codice PHP:
    <style>
    /* Classe che si applica ai messaggi di validità */
    .LV_valid {
    color:#00CC00;
    }
    /* Classe che si applica ai messaggi di non validità */
    .LV_invalid {
    color:#CC0000;
    }
    /* Classe che si applica a tutti i messaggi di validazione */
    .LV_validation_message{
    font-weight:bold;
    margin:0 0 0 5px;
    }
    /* Stili applicati ai campi validi */
    .LV_valid_field,
    input.LV_valid_field:hover,
    input.LV_valid_field:active,
    textarea.LV_valid_field:hover,
    textarea.LV_valid_field:active,
    .fieldWithErrors input.LV_valid_field,
    .fieldWithErrors textarea.LV_valid_field {
    border: 1px solid #00CC00;
    }
    /* Stili applicati ai campi non validi */
    .LV_invalid_field,
    input.LV_invalid_field:hover,
    input.LV_invalid_field:active,
    textarea.LV_invalid_field:hover,
    textarea.LV_invalid_field:active,
    .fieldWithErrors input.LV_invalid_field,
    .fieldWithErrors textarea.LV_invalid_field {
    border: 1px solid #CC0000;
    }
    </style>
    <script src="prototype.js" type="text/javascript"></script>
    <script src="live_validation.js" type="text/javascript"></script>

    <div id="middle_center">
    <?php 
    ?>


      <p class="standard_grande" align="center">[b]Modulo d'iscrizione:[/b]</p>
    <form action="registrazione.php" method="post">
      <div id="registrazione" class="bordiArrotondati">
      

    <table width="50%" align="center"  border="0">
      <tr>
        <td width="45%"><label for="nome">Nome:</label></td>
        <td colspan="2"><input type="text" id="nome" value="<?php if(isset($_POST['nome'])){echo $_POST['nome']; }else{echo "";} ?>" /></td>
      </tr>
      <tr>
        <td><label for="cognome">Cognome:</label></td>
        <td colspan="2"><input type="text" id="cognome" value="<?php if(isset($_POST['cognome'])){echo $_POST['cognome']; }else{echo "";} ?>" /></td>
      </tr>
      <tr>
        <td><label for="telefono">Telefono:</label></td>
        <td colspan="2"><input type="text" id="telefono" value="<?php if(isset($_POST['telefono'])){echo $_POST['telefono']; }else{echo "";} ?>" /></td>
      </tr>
      <tr>
        <td><div align="left">Città<span style="font-size:85%; ">(selezionare prima la provincia e poi nel campo che verr&agrave; fuori la citt&agrave;)</span>: </div></td>
        <td colspan="2">
        <script type="text/javascript" src="elenco_comuni/comuni.js"></script>


         <select name="provincia" onchange="eseguiRichiesta('elenco_comuni/carica_comune.php?pr='+this.value, 'comune')">
    <option value="default">Scegli la provincia...</option>
    <?php 
    define
    ("CONNESSIONE",true);
    include(
    'elenco_comuni/config.php');
    $query="SELECT DISTINCT provincia FROM citta ORDER BY provincia";
    $ris=mysql_query($query$connessione) or die("Errore, non trovo le province");
    while(
    $row=mysql_fetch_assoc($ris)){
        
    $query_provincia="SELECT provincia FROM provincie WHERE sigla='".$row['provincia']."'";
        
        
    $provincia=mysql_query($query_provincia$connessione) or die("Non riesco a leggere le province");
        while(
    $pr=mysql_fetch_assoc($provincia)){
            
    $nome_provincia=$pr['provincia'];
        
        }
    ?>
    <option value="<?php echo $row['provincia']; ?>"><?php echo $nome_provincia?></option><?php ?>
    </select>
    <span id="comune">
    </span></p>
        _</td>
      </tr>
      <tr>
        <td><div align="left">Data di Nascita: </div></td>
        <td align="center"><script>DateInput('data_nascita', true, 'DD/MM/YYYY', '<?php echo date ("d-M-Y"mktime ());?>')</script></td>
      </tr>
      <tr>
        <td><label for="email">E-mail:</label></td>
        <td colspan="2"><input type="text" id="email" value="<?php if(isset($_POST['email'])){echo $_POST['email']; }else{echo "";} ?>" size="20"/> </td>
      </tr>
        <tr>
        <td><label for="email">Ripeti E-mail:</label></td>
        <td colspan="2"><input type="text" id="email2" value="<?php if(isset($_POST['email2'])){echo $_POST['email2']; }else{echo "";} ?>" size="20"/> </td>
      </tr>
      <tr>
        <td><label for="email">Username:</label></td>
        <td colspan="2"><input type="text" id="username" value="<?php if(isset($_POST['username'])){echo $_POST['username']; }else{echo "";} ?>" type="text" size="20" /></td>
      </tr>
      <tr>
        <td><label for="email">Password:</label></td>
        <td colspan="2"><input type="password" id="password" /></td>
      </tr>
      <tr>
        <td><label for="email">Ripeti Password:</label></td>
        <td colspan="2"><input type="password" id="password2" /></td>
      </tr>
      <tr>
        <td colspan="2"><p align="center"><label for="conferma">Autorizzo il trattamento dei dati personali ai sensi della L. 196/03</label><input type="checkbox" id="autorizzazione" /></p></td>
      </tr>
      <tr>
        <td colspan="2"><p align="center">
        <input type="hidden" name="check" value="ok"/>
        <input name="submit" type="submit" value="ISCRIVITI" /></p></td>
      </tr>

    </table>
    </div>


    </form>


    <script type="text/javascript">
    var valNome = new LiveValidation( 'nome', {validMessage: "OK!", onlyOnBlur: true } );
    valNome.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );

    var valCognome = new LiveValidation( 'cognome', {validMessage: "OK!", onlyOnBlur: true } );
    valCognome.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );

    var valTelefono = new LiveValidation( 'telefono', {validMessage: "OK!", onlyOnBlur: true } );
    valTelefono.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );
    valTelefono.add( Validate.Numericality, { onlyInteger: true, notANumberMessage: "Inserire esclusivamente numeri" } );

    var valMail = new LiveValidation( 'email', {validMessage: "OK!", onlyOnBlur: true } );
    valMail.add( Validate.Email, {failureMessage: "Devi inserire un indirizzo e-mail valido"} );
    valMail.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );

    var valMail2 = new LiveValidation( 'email2', {validMessage: "OK!", onlyOnBlur: true } );
    valMail2.add( Validate.Email, {failureMessage: "Devi inserire un indirizzo e-mail valido"} );
    valMail2.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );
    valMail2.add( Validate.Confirmation, { match: 'email' , failureMessage: "L'email non coincide" } );

    var valUsername = new LiveValidation( 'username', {validMessage: "OK!", onlyOnBlur: true } );
    valUsername.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );

    var valPassword = new LiveValidation( 'password', {validMessage: "OK!", onlyOnBlur: true } );
    valPassword.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );

    var valPassword2 = new LiveValidation( 'password2', {validMessage: "OK!", onlyOnBlur: true } );
    valPassword2.add( Validate.Presence, {failureMessage: "Campo obbligatorio"} );
    valPassword2.add( Validate.Confirmation, { match: 'password', failureMessage: "La password non coincide" } );


    var valAutorizzazione = new LiveValidation( 'autorizzazione', {validMessage: "OK!", onlyOnBlur: true } );
    valAutorizzazione.add( Validate.Acceptance, {failureMessage: "Devi dare la tua autorizzazione per procedere"} );

    var automaticOnSubmit = valMail.form.onsubmit;
    valMail.form.onsubmit = function(){
          var valid = automaticOnSubmit();
          if(!valid){
              alert('Uno o piu campi non sono stati compilati in modo corretto');
            return false;
          }else{ 
              document.form.submit;
            return true;
          }
          }
    </script> 





    </div>

  2. #2
    Ciao,
    guarda io non ho avuto modo di usre questi strumenti che tu riporti qui, ma c'è un pezzetto di codice che mi sembra strano..
    codice:
       var automaticOnSubmit = valMail.form.onsubmit;
       valMail.form.onsubmit = function(){
           var valid = automaticOnSubmit();
    è corretto? Lo hai trovato che deve funzionare così o lo hai ricavato in qualche modo tu?
    Cosa restituisce valMail.form.onsubmit? E' un metodo o una variabile? Assegni alla variabile automaticOnSubmit il valore che questa da, e dopo gli assegni una funzione..
    Bo può darsi mi sbagli, ma non mi sembra molto corretto questo pezzo di codice...

    Ciao!
    Prima di dire che sei un Webmaster, guarda in giro per la rete....

  3. #3
    Potrebbe non essere corretto in effetti....praticamente ho preso il codice per intero dell'esempio che ho trovato su internet...
    (javascript.html.it/articoli/leggi/2406/validare-form-con-livevalidation/6/ ) e si dice sotto che quel pezzo serve solo per dare un alert se il form è valido...ma non è funzionale al codice vero e proprio...

    io in pratica ho bisogno di:
    - se il form è valido : inviare i dati a una pagina che effettuerà un successivo controllo e poi salva i dati
    - se il form non è valido: mandare un alert

    come avrai ben capito non capisco tanto di javascript e credevo che con la semplice chiamata "document.form.submit" dopo il controllo avrei risolto ma nella pagina che mi viene fuori le variabili $_POST sono tutte vuote! ...

  4. #4
    ho provato a eliminare quella parte di codice ma purtroppo senza risultati...anzi elimiando l'intera parte di codice in questione
    Codice PHP:
    var automaticOnSubmit valMail.form.onsubmit;    
    valMail.form.onsubmit = function(){        
    var 
    valid automaticOnSubmit(); 
    lo script non va più...

    qualcuno sa aiutarmi??
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.