JQuery - SUBMIT FORM

 
Vista:
sin imagen de perfil

SUBMIT FORM

Publicado por Diego (10 intervenciones) el 27/06/2014 22:50:27
hola buena tarde,

tengo un formulario en el cual tengo un boton tipo button(no hay tipo submit), al hacer click en ese boton voy a una funcion que valida unos campos y si las validaciones son correctas quiero que el formulario se envie, tengo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<div id="divCntFrmLogin">
            <form id="frmLogin" name="frmLogin" method="POST" action="../resources/validateLogin.php">
                <h2>Ingrese Sus Datos</h2>
                <span>
                    <input id="iptLgnEmail" class="iptFrmLogin" type="text" name="emailuserlog" placeholder="Correo Electronico" /><br/>
                    <span id="spnErrorEmailLgn" class="sperror"></span>
                </span>
                <span>
                    <input id="iptLgnPass" class="iptFrmLogin" type="password" name="passuserlog" placeholder="Contraseña" /><br/>
                    <span id="spnErrorPassLgn" class="sperror"></span>
 
                </span>
                <input id="btnLogin" type="button" name="submit"  value="Ingresar" /><input id="btnRegister" type="button" value="Registrame" onclick="showCap('frmCheckDocente')" />
            </form>
        </div>
 
        <div id="divCapa">
            <div id="divCntCapa"></div>
        </div>
 
        <script type="text/javascript">
            $(document).ready(function (){
 
 
                $("#btnLogin").click(validateLogin);
 
 
            });
        </script>

la funcion validate:

1
2
3
4
5
6
7
8
9
10
11
12
13
function validateLogin(){
    $iptEmail = $("#iptLgnEmail");
    $iptPass  = $("#iptLgnPass");
    $errorEmail = $("#spnErrorEmailLgn");
    $errorPass  = $("#spnErrorPassLgn");
 
    $statusEmail = $iptEmail.validateEmail($errorEmail);
    $statusPass  = $iptPass.validatePass($errorPass);
 
    if($statusEmail == true && $statusPass == true){
      $("#frmLogin").submit();
    }
}

como ven si la validación del campo email y pass son verdaderas entonces se ejecutaría la funcion submit sin embargo no lo hace pero si coloco una alert de que todo esta bien entonces si sale el alert el problema es con el submit, no se si estoy haciendo mal uso de la función o debe ir un parametro de mas.


espero me puedan ayudar gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

SUBMIT FORM

Publicado por xve (673 intervenciones) el 28/06/2014 18:49:47
Hola Diego, el <input type="button" ya hace el submit, por lo que tanto si va bien como si no, el hace el submit...

Hay varias maneras, pero una de ellas, es poner en el form algo así:

<form .... onsubmit="return ValidateLogin()">

Y en la función ValidateLogin(), tienes que devolver true si todo esta ok, o false si hay un error... algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function validateLogin(){
    $iptEmail = $("#iptLgnEmail");
    $iptPass  = $("#iptLgnPass");
    $errorEmail = $("#spnErrorEmailLgn");
    $errorPass  = $("#spnErrorPassLgn");
 
    $statusEmail = $iptEmail.validateEmail($errorEmail);
    $statusPass  = $iptPass.validatePass($errorPass);
 
    if($statusEmail == true &amp;&amp; $statusPass == true){
      return true;
    }
    return false;
}

De esta manera, al devolver false, no se envia el formulario...

Espero que me haya explicado bien... cualquier duda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar