Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41

    Problema onSubmit e return

    Salve a tutti...ho un problema su OnSubmit. Premetto che di javascript conosco poco/niente, e lo uso solo per le validazioni, mentre per il resto php. Ho in pratica un login, dove, se l'indirizzo e-mail è inserito in un modo non corretto, lancia un alert, stessa cosa per la password. Il codice è questo:

    codice:
    <script language="javascript"> 
    
    function valid(f1)
    {
     var email = document.f1.us.value;
     var password = document.f1.pw.value; 
     var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
     
     if ((email == "") || (email == "undefined"))
     {
       alert("Inserire un indirizzo e-mail");
       document.f1.email.select();
       return false;
       }
     
     else if (!email_reg_exp.test(email))
     {
       alert("Inserire un indirizzo e-mail corretto");
       document.f1.email.select();
       return false;
        }
     
     else if ((password == "") || (password == "undefined"))
     {
       alert("Inserire una password");
       document.f1.email.focus();
       return false;
     }
     else
     {
      return true;
    
     }
     
    }
    </script>
    I dati vengono inviati allo script tramite questo form:
    codice:
    <form name=f1 method=post action="login.php" onSubmit="return valid(this)">
    che, ovviamente, al suo interno contiene il bottone submit e le caselle di testo.
    Il problema è che in php ho realizzato anche uno script del genere:
    codice:
     <?php
     if (isset($_POST['acc']))
    { //operazioni funzionanti in php
    }
    dove 'acc' è il mio bottone submit. Succede che quando, per esempio, il campo e-mail è vuoto, viene visualizzato il messaggio di alert, ma contemporaneamente viene eseguito lo script php, eseguendo le operazioni. Cosa ho sbagliato, visto che con l'onsubmit se è false non ci si dovrebbe muovere da quella pagina?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma gli elementi input nella pagina come si chiamano?
    A inizio funzione valorizzi questa variabile:
    var email = document.f1.us.value; (il campo sembrerebbe chiamarsi us)
    ma negli if rimandi cosi:
    document.f1.email.select(); (il campo sembra divetato email)
    e non trovandolo va in errore e non blocca il submit
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41
    codice:
    <p class="par">Username:<input type=text name=us value=""></p>
     <p class="par">Password:<input type=password name=pw value=""></p>
     <p class="par"><input type=submit name='acc' value='Accedi' class=bottone></p></form>
     <p class="par"><span>Password dimenticata?</span></p>
     <p class="par"><span>Registrati</span></p>
    questo è l'html dentro il form...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41
    ok, grazie, ho risolto il problema era esattamente quello, solo che, avendo poca conoscenza di javascript, ritenevo che bisognasse mettere il nome della variabile e non quello del campo

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.