Comunidad de diseño web y desarrollo en internet online

Problema validación formulario

Citar            
MensajeEscrito el 25 Oct 2012 06:53 pm
Hola Compañeros,

Tengo un código de validación para el campo email y el checkbox de un formulario. El caso es que se comprueba que están todos los campos requeridos (email y checkbox) y cuando no lo están muestra la alerta.

Pero cuando está todo correcto, aunque se pulse en el botón de enviar, este no ejecuta el action"mailer.php".

Os dejo el código de validación, es posible que le falte algo y por ello no ejecute el action.

Gracias por vuestra ayuda de antemano. Un saludo.


Código Javascript :

<script type="text/javascript">
function validar()
{
   
var email = document.getElementById('email');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
alert('Por favor compruebe la dirección de email');
email.submit;
return false;
}
   
   elemento = document.getElementById("checkbox");
if( !elemento.checked ) alert('Por favor acepte el aviso legal'); {
  return false;
}

   return true;
}

</script>

Por karlitoxgranada

0 de clabLevel



 

Webmaster

chrome
Citar            
MensajeEscrito el 29 Oct 2012 10:28 pm
Hay muchas inconsistencias que no entiendo en el codigo...

la primera que quiza por mi inexperiencia, el "filter.test", veo que declaraste filter pero el metodo test no se de donde sale...

Lo segundo y mas importante..

Colocas "email.submit", pero tu variable email es igual al valor que se encuentra en el cambo email.

cuando la variable email, deberia ser el "name" del formulario. pro eso el email.submit no funciona, debería ser:

nombredelformulario.submit

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 30 Oct 2012 12:27 pm
elporfirio:
La variable filter es una expresión regular, en JavaScript las expresiones regulares son un tipo especial de string que tienen un método .test() para evaluarlas contra otra cadena (en este caso email.value).

Por lo demás tienes razón. El método .submit() se debe ejecutar en el objeto formulario, no en uno de sus campos.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.