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>