[RESOLVIDO] JavaScript validando email

1 resposta
EHS

Estou querendo validar um email e estou com um problema na mensagem de erro, criei um campo email embaixo deste criei uma div para aparecer a mensagem de erro quando o email estiver errado e um botão para enviar, mas quando eu digito o email sem o '@' a mensagem de erro que deveria aparecer na div apensa pisca e o formulário é enviado, pois o texte digitado no campo email some e a página é atualizada. Então não vejo onde estou errando, pois quero que a mensagem de erro fique na tela quando o usuário digitar um email errado.

<script language="javascript" type="text/javascript">
        function validaForm() {
                var campoEmail = document.getElementById("email");
                var divRetorno = document.getElementById("retorno");

                if(campoEmail.value.indexOf("@") == -1) {
                    divRetorno.innerHTML = "Faltou o arroba";
                    return false;
                }
                return true;
            }
    </script>
    <body>
        <form action="#"  id="form2" name="form2" method="POST" onsubmit="validaForm()">
            Digite seu email:
            <br/>
            <input type="text" name="email" id="email"/>
            <br/>
            <div id="retorno"></div>
            <input type="submit" name="email" value="Enviar"/>
        </form>
    </body>

1 Resposta

EHS

Descobri o que estava errado, eu tinha esquecido de colocar o return na chamada do método.

<script language="javascript" type="text/javascript">
        function validaForm() {
                var campoEmail = document.getElementById("email");
                var divRetorno = document.getElementById("retorno");

                if(campoEmail.value.indexOf("@") == -1) {
                    divRetorno.innerHTML = "Faltou o arroba";
                    return false;
                }
                if(campoEmail.value.indexOf(".com") == -1) {
                    alert("Domínio incorreto");
                    return false;
                }
                return true;
            }
    </script>
    <body>
        <form action="#"  id="form2" name="form2" method="POST" onsubmit="return validaForm()">
            Digite seu email:
            <br/>
            <input type="text" name="email" id="email"/>
            <br/>
            <div id="retorno"></div>
            <input type="submit" name="email" value="Enviar"/>
        </form>
    </body>
Criado 13 de maio de 2011
Ultima resposta 13 de mai. de 2011
Respostas 1
Participantes 1