Foros del Web » Programando para Internet » Jquery »

Problema con script jQuery y Ajax

Estas en el tema de Problema con script jQuery y Ajax en el foro de Jquery en Foros del Web. Buenas tardes y gracias por pasar Tengo un problema con 2 acciones que deseo ejecutar por separado. Por un lado tengo un validador de formulario ...
  #1 (permalink)  
Antiguo 06/01/2014, 19:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Problema con script jQuery y Ajax

Buenas tardes y gracias por pasar
Tengo un problema con 2 acciones que deseo ejecutar por separado.
Por un lado tengo un validador de formulario hecho en jquery, y por otro tengo un script que procesa vía ajax lo enviado en el formulario.
Bien, el problema es que cuando hago un submit realiza la validacion, pero tambien ejecuta el script ajax que procesa los datos.

index.php
Código HTML:
 <script src="../bootstrap/js/jquery.js"></script>
        <script src="../bootstrap/inc/ajaxProcesa.js"></script>
        <script src="../bootstrap/js/jquery.validate.js"></script>
        <script src="../bootstrap/js/validatePage2.js"></script>
.
.
.
<form>
.
.
.
</form>
.
.
validatePage2.js
Código:
$().ready(function() {

    $("#frmLoginUsuario").validate({
        rules: {
            emailLoginUsuario: {
                required: true,
                email: true,
                maxlength: 35

            }
        },
        messages: {
            emailLoginUsuario: {
                required: "Debe ingresar tu dirección de correo electronico!",
                email: "Ingresa una dirección email valida!",
                maxlength: "No puede ser mayor de 35 caracteres!"
            }
        }
    });
    
});

ajaxProcesa.js
Código:
function nuevoAjax() {
    var xmlhttp = false;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }

    return xmlhttp;
}

function procesoLoginUsuario() {
    resul = document.getElementById('msgLoginUsuario');

    emailLoginUsuario = document.frmLoginUsuario.emailLoginUsuario.value;

    ajax = nuevoAjax();

    muestra();
    ajax.open("POST", "validaLoginUsuario.php", true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.send("emailLoginUsuario=" + emailLoginUsuario);
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 4) {
            oculta();
            resul.innerHTML = ajax.responseText;
        }

    };

}
Bueno ese es mi problema, entra a ambos mientras que yo necesito que se termine de ejecutar cuando da un error en el validador..

No quiero dar la impresion de querer todo servido, me gustaria alguna pista para poder esclarecer un poco mas este problema, soy nuevo con jquery, espero alguien con mas experiencia me pueda dar una mano

Como siempre muchas gracias por su tiempo!
__________________
Arian
  #2 (permalink)  
Antiguo 06/01/2014, 20:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Problema con script jQuery y Ajax

Utiliza el método submitHandler para hacer la llamada a la función Ajax cuando los datos del formulario sean válidos.

Código Javascript:
Ver original
  1. $("#frmLoginUsuario").validate({
  2.     rules: {
  3.         emailLoginUsuario: {
  4.             required: true,
  5.             email: true,
  6.             maxlength: 35
  7.         }
  8.     },
  9.     messages: {
  10.         emailLoginUsuario: {
  11.             required: "Debe ingresar tu dirección de correo electronico!",
  12.             email: "Ingresa una dirección email valida!",
  13.             maxlength: "No puede ser mayor de 35 caracteres!"
  14.         }
  15.     },
  16.     submitHandler: function() {
  17.         procesoLoginUsuario();
  18.     }
  19. });

Cuando los datos del formulario sean válidos, se ejecutará la función procesoLoginUsuario().

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 07/01/2014, 08:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema con script jQuery y Ajax


Muchas gracias @Alexis88 con eso se soluciona mi problema.
GRACIAS!
__________________
Arian

Etiquetas: ajax, formulario, html, javascript, js, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.