Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Controllare campi di un form prima di effettuare l'invio

  1. #1

    Controllare campi di un form prima di effettuare l'invio

    Ciao a tutti, ho un problema con la validazione di un form. Il codice che posto sotto spedisce dei dati ad una pagina in php e la parte di js dovrebbe verificare che i dati nei primi 2 campi del form contengano solo testo, però mi spedisce la pagina senza fare questo controllo.
    Dove sbaglio?

    codice HTML:
    [COLOR=#1D2129][FONT=Helvetica]
    <head>
    <meta charset="UTF-8">
    <title>Prova</title>
    <script>
    function controllaForm() {
    var soloTesto = /^([a-zA-Z '])+$/;[/FONT][/COLOR]
    [FONT=inherit]if (!soloTesto.test(document.form[0].nome.value)) {
    alert("Il nome inserito non e' valido!");
    document.form[0].nome.focus();
    return false;
    }
    if (!soloTesto.test(document.form[0].cognome.value)) {
    alert("Il cognome inserito non e' valido!");
    document.form[0].cognome.focus();
    return false;
    </script>
    </head>
    <body>[/FONT]
    [FONT=inherit]<form action="http://localhost/sito1/new1.php" method="post" name="form">
    Nome:<br>
    <input type="text" name="nome" /> <br>
    Cognome:<br>
    <input type="text" name="cognome"/> <br>
    Data di nascita <br>
    <input type="date" name="data" /> <br> <br>
    <input type="submit" value="Invia" onClick ="controllaForm()">
    <input type="reset" value="cancella">
    </form>[/FONT]
    [FONT=inherit]</body>
    [/FONT]

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,103
    posta meglio il codice
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    codice HTML:
    <head><meta charset="UTF-8">
    <title>Prova</title>
    <script>
    function controllaForm() {
    var soloTesto = /^([a-zA-Z '])+$/;[/FONT][/COLOR]
    [FONT=inherit]if (!soloTesto.test(document.form[0].nome.value)) {
    alert("Il nome inserito non e' valido!");
    document.form[0].nome.focus();
    return false;
    }
    if (!soloTesto.test(document.form[0].cognome.value)) {
    alert("Il cognome inserito non e' valido!");
    document.form[0].cognome.focus();
    return false;
    </script>
    </head>
    <body>[/FONT]
    [FONT=inherit]<form action="http://localhost/sito1/new1.php" method="post" name="form">
    Nome:<br>
    <input type="text" name="nome" /> <br>
    Cognome:<br>
    <input type="text" name="cognome"/> <br>
    Data di nascita <br>
    <input type="date" name="data" /> <br> <br>
    <input type="submit" value="Invia" onClick ="controllaForm()">
    <input type="reset" value="cancella"> 
    </form>
    </body>

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,103
    scusami ma [FONT=inherit] che roba è?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    scusami ma [FONT=inherit] che roba è?
    Non fa parte del mio codice originale, si è generato dopo che ho messo i tags html qui sul forum, comunque a parte questo, non pensavo di aver posto un quesito così complicato

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    526
    Usa event.preventDefault() per fermare il submit del form, fai le ue verifiche e in caso sia tutto corretto invia il form manualmente con form.submit().

  7. #7
    Grazie per la risposta, ma indicativamente, in che punto del codice l'inserisco?
    Ultima modifica di doppioconfronto; 07-12-2018 a 14:34

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    526
    Il preventDefault() all'inizio della funzione che richiami nell'onClick ed il subit alla fine della stessa funzione.

    Guardati come funziona l'invio dei form tramite js.

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 © 2018 vBulletin Solutions, Inc. All rights reserved.