Foros del Web » Programando para Internet » Jquery »

Problema con Ajax jquery.form

Estas en el tema de Problema con Ajax jquery.form en el foro de Jquery en Foros del Web. Hola, estaba comenzando a aprender algo de ajax con jquery y queria implementar que cuando el usuario hicese click en una capa se le mostrase ...
  #1 (permalink)  
Antiguo 23/12/2009, 02:55
 
Fecha de Ingreso: marzo-2004
Mensajes: 10
Antigüedad: 20 años, 8 meses
Puntos: 0
Problema con Ajax jquery.form

Hola, estaba comenzando a aprender algo de ajax con jquery y queria implementar que cuando el usuario hicese click en una capa se le mostrase o se ocultase una capa.
Pero hay 2 que son formularios y en funcion de lo que le devuelva el php hará una cosa u otra (el PHP devuelve un string que lo compaero). Pero cuando introduco la parte de jquery.form no me funciona. No me funciona ni la parte donde no hay consultas a los php(es decir lo que no son formularios) .
El codigo es el siguiente, a ver si me podeis ayudar

Código:
$(document).ready(function(){ 
    
      $(".cuentaUsuario").click(function(){ 
       
         $("#formularioRecuperar").show().css("display","none"); 
         $("#recuperarIncorrecto").show().css("display","none"); 
         $("#recuperarCorrecto").show().css("display","none"); 
         $("#loginIncorrecto").show().css("display","none"); 
         $("#formularioLogin").show().css("display","block"); 
      }) 
       
      $(".recuperarContrasena").click(function(){ 
       
         $("#formularioRecuperar").show().css("display","block"); 
         $("#recuperarIncorrecto").show().css("display","none"); 
         $("#loginIncorrecto").show().css("display","none"); 
         $("#formularioLogin").show().css("display","none"); 
      }) 
       
       
            $("#formularioLogin #linea_LoginUsuario #botonLogin").click(function(){ 
       
      var opciones= { 
                               beforeSubmit: mostrarLoader, //funcion que se ejecuta antes de enviar el form 
                               success: mostrarRespuesta //funcion que se ejecuta una vez enviado el formulario 
        }; 
       
      $('#formularioLoginUsuario').ajaxForm(opciones); 
    
       
         function mostrarLoader(){ 
              $("formularioLogin").show().css("display","none"); 
              $("#loading").fadeIn("slow").css("display".; //muestro el loader de ajax 
             }; 
             function mostrarRespuesta (responseText){ 
              if (responeText =="E1"){ 
              $("loading").show().css("display","none"); 
              $("loginIncorrecto".show().css("display","block"); 
              } 
             }; 
       
       
      } 
       
      $("#formularioLogin #linea_LoginUsuario #botonLogin").click(function(){ 
       
      var opciones2= { 
                               beforeSubmit: mostrarLoader2, //funcion que se ejecuta antes de enviar el form 
                               success: mostrarRespuesta2 //funcion que se ejecuta una vez enviado el formulario 
        }; 
       
      $('#formularioRecuperarUsuario').ajaxForm(opciones); 
    
       
         function mostrarLoader2(){ 
              $("formularioRecuperar").show().css("display","none"); 
              $("#loading").fadeIn("slow").css("display".; //muestro el loader de ajax 
             }; 
             function mostrarRespuesta2 (responseText){ 
              if (responseText =="E2"){ 
              $("loading").show().css("display","none"); 
              $("loginIncorrecto").show().css("display","block"); 
              }else if(responseText=="E1"){ 
              $("loading").show().css("display","none"); 
              $("loginCorrecto").show().css("display","block"); 
              } 
             }; 
       
       
      } 
       
       
       
 
    
    
    
   })
  #2 (permalink)  
Antiguo 23/12/2009, 08:25
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Problema con Ajax jquery.form

Cita:
$("#loading").fadeIn("slow").css("display".;
Esta linea esta mal escrita.

Y esta otra es contradictoria:
Cita:
$("loading").show().css("display","none");
Fijate a pie de pagina del internet explorer, porque ahi te marca los errores javascript. Te dice en que linea estan. Y viendo el codigo fuente de la pagina los podes identificar.
  #3 (permalink)  
Antiguo 23/12/2009, 17:07
 
Fecha de Ingreso: marzo-2004
Mensajes: 10
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Problema con Ajax jquery.form

Porque es contradictoria??
  #4 (permalink)  
Antiguo 23/12/2009, 19:10
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Problema con Ajax jquery.form

Porque "show" es mostrar. Esto, desde jquery.

display: none es una forma de ocultar en CSS.

Fuera de esto.... solucionaste el problema?
  #5 (permalink)  
Antiguo 24/12/2009, 04:55
 
Fecha de Ingreso: marzo-2004
Mensajes: 10
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Problema con Ajax jquery.form

Si, tenia bastantes errores y los conseguí arreglar.


Pero hay una última cosa que no consigo arreglar, es la siguiente:


Código:
	
		var opciones2= {
                               beforeSubmit: mostrarLoader2, //funcion que se ejecuta antes de enviar el form
                               success: mostrarRespuesta2 //funcion que se ejecuta una vez enviado el formulario
        };
		
		$('#formularioRecuperarUsuario').ajaxForm(opciones2);
	
		
			function mostrarLoader2(){
				  $("#formularioRecuperar").show().css("display","none");
				  $("#loading").fadeIn().css("display","block"); //muestro el loader de ajax
             };
             function mostrarRespuesta2 (responseText){
				   $("#loading").fadeOut().css("display","none");
				  if (responseText == "E2"){
				    $("#recuperarIncorrecto").show().css("display","block");
				  }
				  if(responseText == "E1"){
					$("#recuperarCorrecto").show().css("display","block");
				  }
				  
				  
				  
             };


Mi problema es dentro de mostrarRespuesta2 ya que el if no me consigue comparar lo que le llega por responseText y no sé si es porque la comparación que está mal hecha. Lo que llega por responseText es lo que le devuelve un php a traves de un "echo" y si que devuelve algo porque hice un $(document).html(responseText) y me lo escribre asi que si que recibe cosas.

Última edición por lalo1988; 24/12/2009 a las 05:08
  #6 (permalink)  
Antiguo 26/12/2009, 19:27
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Problema con Ajax jquery.form

No se que pueda ser. A veces he tenido que hacer trim() desde PHP e incluso una vez necesite hacer una especie de trim() en javascript para asegurarme de que no habia espacios en blanco obstruyendo la comparacion.

Fuera de esto, te vuelvo a comentar la contradiccion en tu codigo para que lo tengas presente:
Cita:
$("#formularioRecuperar").show().css("display","no ne");
...aunque quizas eso tenga una funcionalidad, como ser "ocultar" y "no ocupar espacio"... vos diras.

Y yo tambien veria de poner el CSS e
n su lugar para asi no tener que escribir codigo Jquery de mas... Con show() bastaria.
Cita:
$("#recuperarCorrecto").show().css("display","bloc k");

... pero claro, entiendo que pones block para recuperar lo que ocultaste con "none".

Que estes bien
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 00:56.