Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    146

    problemi con onsubmit e action

    Ciao a tutti ho un problema stranissimo allora vi posto il mio codice e poi vi spiego:

    Questo è lo script per validare la mia form:

    <script>
    function verifica(login){

    var nom = document.login.nome.value;
    var cogn = document.login.cognome.value;
    var em = document.login.mail.value;
    var em2 = document.login.mail2.value;
    var usr = document.login.usr.value;
    var pwd = document.login.pwd.value;
    var pwd2 = document.login.pwd2.value;


    if ((nom == "") || (nom == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }else if ((cogn == "") || (cogn == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.modulo.cognome.focus();
    return false;
    }else if ((em == "") || (em == "undefined")) {
    alert("Il campo e-mail è obbligatorio.");
    document.modulo.mail.focus();
    return false;
    }else if ((em2 == "") || (em2 == "undefined")) {
    alert("Il campo riscrivi e-mail è obbligatorio.");
    document.modulo.mail2.focus();
    return false;
    }else if ((usr == "") || (usr == "undefined")) {
    alert("Il campo e-mail è obbligatorio.");
    document.modulo.usr.focus();
    return false;
    }else if ((pwd == "") || (pwd == "undefined")) {
    alert("Il campo Password è obbligatorio.");
    document.modulo.pwd.focus();
    return false;
    }else if ((pwd2 == "") || (pwd2 == "undefined")) {
    alert("Il campo riscrivi Password è obbligatorio.");
    document.modulo.pwd2.focus();
    return false;
    }else if(em!=em2)
    {
    alert('Le e-mail inserite non coincidono');
    return false;
    }else if(pwd!=pwd2)
    {
    alert('Le password inserite non coincidono');
    return false;
    }else
    {
    return false;
    }

    }
    </script>


    Questa è la mia form:

    <form name="login" onsubmit="return verifica(this)" action="insert.php" method="post">
    <div class="post">
    <h2 class="title">Riempi i campi con i tuoi dati.</h2>

    <p align="center" >
    <table>
    <tr>
    <td valign="top" align="left" height="32">
    * nome :

    <input type="text" name="nome" size="20" maxlength="20" value="">


    * cognome :

    <input type="text" name="cognome" size="20" maxlength="20" value="">


    * e-mail :

    <input type="text" name="mail" size="20" maxlength="20" value="">


    * riscrivi e-mail :

    <input type="text" name="mail2" size="20" maxlength="20" value="">



    * username :

    <input type="text" name="usr" size="20" maxlength="20" value="">


    * password :

    <input type="password" name="pwd" size="20" maxlength="20" value="">

    .
    * riscrivi password :

    <input type="password" name="pwd2" size="20" maxlength="20" value="">


    <input type="submit" value="Invia">

    <input type="reset" name="entra" value="Reset">
    </td>
    </tr>
    </table>


    </p>


    <p class="links">
    </p>
    </form>


    Ora vi spiego il problema:

    quando carico la pagina contenente il codice riportato su va tutto ok, se non inserisco niente nei campi dalla form e schiaccio il pulsane di login, mi compare il messagio che il campo, ad esempio nome, è vuoto, clikko ok sulla finestra di allert dopo di che la action viene comunque eseguita e quindi vengo portato nella pagina insert.php, non ostante lo script ritorna false la mia form se ne frega e mi fa partire il form.

    Aiutatemi non riesco a capire dov'è l'inghippo
    Grazie

  2. #2
    non ho visto il codice, ma se va avanti forse c'è un problema con lo script
    io per controllare javascript utilizzp firefox, ed apro la console degli errori, che mi segnala il problema, inoltre potresti mettere un return false, prima di chiudere tutto, in modo che non va a vanti e vedi se il browser ti restituisce un problema.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    146

    tahks very very mutch

    Originariamente inviato da ciucciatiilcalzino
    non ho visto il codice, ma se va avanti forse c'è un problema con lo script
    io per controllare javascript utilizzp firefox, ed apro la console degli errori, che mi segnala il problema, inoltre potresti mettere un return false, prima di chiudere tutto, in modo che non va a vanti e vedi se il browser ti restituisce un problema.

    il codice e tutto li, firefox non mi da nessun errore, solo qualche avviso relarivo al css e niente più
    so solo che non va, mi compare lal finestra che mi avvisa che un campo e vuoto, e poi mi collega comunque, la pagina che sto sviluppando è gia in rete,


    http://submegamanx.altervista.org/register.php

    prova a vedere tu se firefox ti da errori perchè a me non ne da

    grazie comunque per l'aiuto

  4. #4
    document.modulo.nome non esiste, quindi javascript va in errore tentando di eseguire document.modulo.nome.focus()

    .. volevi per caso scrivere document.login.nome ?

    In ogni caso, se alla funzione verifica passi l'oggetto form:
    codice:
    <form name="login" onsubmit="return verifica(this)" action="insert.php" method="post">
    poi, nella funzione, lo devi usare, no?

    funzione corretta:
    codice:
    <script type="text/javascript">
    function verifica(login){
    
    var nom = login.nome.value;
    var cogn = login.cognome.value;
    var em = login.mail.value;
    var em2 = login.mail2.value;
    var usr = login.usr.value;
    var pwd = login.pwd.value;
    var pwd2 = login.pwd2.value;
    
        if ((nom == "") || (nom == "undefined")) {
            alert("Il campo Nome è obbligatorio.");
            login.nome.focus();
            return false;
        }
        if ((cogn == "") || (cogn == "undefined")) {
            alert("Il campo Cognome è obbligatorio.");
            login.cognome.focus();
            return false;
        }
        if ((em == "") || (em == "undefined")) {
            alert("Il campo e-mail è obbligatorio.");
            login.mail.focus();
            return false;
        }
        if ((em2 == "") || (em2 == "undefined")) {
            alert("Il campo riscrivi e-mail è obbligatorio.");
            login.mail2.focus();
            return false;
        }
        if ((usr == "") || (usr == "undefined")) {
            alert("Il campo e-mail è obbligatorio.");
            login.usr.focus();
            return false;
        }
        if ((pwd == "") || (pwd == "undefined")) {
            alert("Il campo Password è obbligatorio.");
            login.pwd.focus();
            return false;
        }
        if ((pwd2 == "") || (pwd2 == "undefined")) {
            alert("Il campo riscrivi Password è obbligatorio.");
            login.pwd2.focus();
            return false;
        }
        if(em!=em2) {
            alert('Le e-mail inserite non coincidono');
            return false;
        }
        if(pwd!=pwd2) {
            alert('Le password inserite non coincidono');
            return false;
        }
    
        return true;
    
    }
    </script>
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    146
    Originariamente inviato da homezappa
    document.modulo.nome non esiste, quindi javascript va in errore tentando di eseguire document.modulo.nome.focus()

    .. volevi per caso scrivere document.login.nome ?

    In ogni caso, se alla funzione verifica passi l'oggetto form:
    codice:
    <form name="login" onsubmit="return verifica(this)" action="insert.php" method="post">
    poi, nella funzione, lo devi usare, no?

    funzione corretta:
    codice:
    <script type="text/javascript">
    function verifica(login){
    
    var nom = login.nome.value;
    var cogn = login.cognome.value;
    var em = login.mail.value;
    var em2 = login.mail2.value;
    var usr = login.usr.value;
    var pwd = login.pwd.value;
    var pwd2 = login.pwd2.value;
    
        if ((nom == "") || (nom == "undefined")) {
            alert("Il campo Nome è obbligatorio.");
            login.nome.focus();
            return false;
        }
        if ((cogn == "") || (cogn == "undefined")) {
            alert("Il campo Cognome è obbligatorio.");
            login.cognome.focus();
            return false;
        }
        if ((em == "") || (em == "undefined")) {
            alert("Il campo e-mail è obbligatorio.");
            login.mail.focus();
            return false;
        }
        if ((em2 == "") || (em2 == "undefined")) {
            alert("Il campo riscrivi e-mail è obbligatorio.");
            login.mail2.focus();
            return false;
        }
        if ((usr == "") || (usr == "undefined")) {
            alert("Il campo e-mail è obbligatorio.");
            login.usr.focus();
            return false;
        }
        if ((pwd == "") || (pwd == "undefined")) {
            alert("Il campo Password è obbligatorio.");
            login.pwd.focus();
            return false;
        }
        if ((pwd2 == "") || (pwd2 == "undefined")) {
            alert("Il campo riscrivi Password è obbligatorio.");
            login.pwd2.focus();
            return false;
        }
        if(em!=em2) {
            alert('Le e-mail inserite non coincidono');
            return false;
        }
        if(pwd!=pwd2) {
            alert('Le password inserite non coincidono');
            return false;
        }
    
        return true;
    
    }
    </script>
    HTH
    Zappa

    me possino ammazzà, ho fatto un riuso di codice, ho modificato tutto ma quello mi era sfuggito di brutto .......

    Mo funziona tutto

    Grazie ancora a tutti, mi sa che devo comprarmi un binocolo al posto degli occhiali

    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.