2012-01-03 17 views
10

que necesito para validar la entrada usando JavaScript y jQuery cuando alguien presentar mi formulario boletínerror jQuery presentar la validación de formularios

por alguna razón no funciona. se envía el formulario sin alertar a los errores

Esto es lo que tengo hasta ahora:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
    <script type="text/javascript"> 

    $(document).ready(function(){ 
    function go() { 
     if($('#name').val() == '') { 
      alert('error: name is required'); 
     } 
     $('form').submit(); 
    } 
    }); 


    </script> 
    </head> 

    <form method="post" action=""> 
    Name *<input type="text" name="name" id="name"/> 
    E-Mail *<input type="text" name="email" id="email"/> 

    <input class="submit" type="submit" value="Submit" name="submit" id="submit" onclick="go();"> 
    </form> 

¿Por qué no veo la alerta cuando no pongo nada en el nombre y luego envíe el formulario?

+0

recomiendo usar: [jQuery Validation] (http://docs.jquery.com/Plugins/Validation) –

Respuesta

15

En lugar de utilizar onclick en el botón Enviar, use onsubmit="return go(); en el elemento de formulario. O bien, use jQuery $('form').submit(function(){ ... });

Y, una vez que encuentra un error, necesita return false de la función para evitar que se siga ejecutando.

+0

Aunque técnicamente correcto, le aconsejo que no use la validación del lado del cliente y especialmente contra el uso de 'alert()' cajas para mostrar errores –

+1

¿Puedes explicar a qué te refieres? –

+0

@ liho1eye ¿por qué desaconsejarías? Es solo una parte. La validación del lado del servidor es necesaria, pero la validación del lado del cliente ayuda a evitar que el formulario se publique en el servidor para su procesamiento si está incompleto. Lo que ahorra tiempo y solicitudes de http. – dakdad

Cuestiones relacionadas