Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con function LIVE o ON de jquery

Estas en el tema de Problema con function LIVE o ON de jquery en el foro de Jquery en Foros del Web. Hola, tengo el siguiente problema: Tengo un formulario, y un link para que lo envie, el resultado se carga en un div, el problema, es ...
  #1 (permalink)  
Antiguo 23/03/2013, 08:55
 
Fecha de Ingreso: abril-2011
Ubicación: Mendoza
Mensajes: 42
Antigüedad: 12 años, 11 meses
Puntos: 0
Problema con function LIVE o ON de jquery

Hola, tengo el siguiente problema:

Tengo un formulario, y un link para que lo envie, el resultado se carga en un div, el problema, es que por algun motivo, se envia 2 o 3 veces seguidas sin ningun motivo aparente:

Este seria mi codigo:

Código HTML:
$('.nextStep').live('click',function(){
			$('.formStep').submit();
			return false;
		});
$('.formStep').live('submit',function(){
			var $this = $(this)
			var url = $this.attr('action');
			var data = $this.serialize();
			alert();
			$.post(url,data,function(r){
				$('#newTurnForm').html(r);
				return false;
			});
			
			return false;
		});
Cuando se realiza el submit del formulario, la function alert que puse, se ejecuta como 3 veces seguidas, y obviamente, hago click una sola vez.

Alguna idea de que puede ser?

Saludos.
__________________
Claudio A. Marrero - Proyect Manager
  #2 (permalink)  
Antiguo 23/03/2013, 11:28
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 5 meses
Puntos: 36
Respuesta: Problema con function LIVE o ON de jquery

puede ser un problema de clases y/o elementos, es el unico elemento con ese class ?

Saludos
  #3 (permalink)  
Antiguo 26/03/2013, 13:28
 
Fecha de Ingreso: abril-2011
Ubicación: Mendoza
Mensajes: 42
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Problema con function LIVE o ON de jquery

Hola Rotten, el tema es el siguiente:

Tengo un menu, que me carga por ajax en un div un contenido determinado, ese contenido tiene codigo javascript que solo lo tiene ese contenido que es llamado por ajax, y sucede que al parecer en vez de reemplasarse el contenido javascript es como si se duplicara, y se ejecutara varias veces esas funciones.

Probe viendo loq ue sucede en la consola con firebug, y resulta que se van duplicando dependiendo de la cantidad de veces que cargue el contenido.

Es muy raro, ya que me aseguro de eliminar por completo lo que contiene el div donde cargo el contenido nuevo.

Esto lo que me produce, es el envio multiple de un formulario.

Asi llamo al contenido desde el menu:

Código HTML:
 this.openinrightpanel = function(page) {
        $('#leftpanel').attr('disabled', true);
        this.showloading();
		$.post(page,function(r){
			if(r){
				$("#rightpanel").html(r);
				self.hideloading();
			}else{
				
			}
		});
        return false;
      
    };
y este es el codigo javascript del contenido que llamo (que lo cargo previamente en el index)

Código HTML:
function Holiday(){
	// Funcion que nos permite darle acciones al alta y edicion de feriados
	this.addHoliday = function(){
		
		$('.newHoliday').live('submit',function(){
  
				var $this = $(this);
				var data = $this.serialize();
				var url = window.location.pathname+'addholiday.php';
				$.post(url,data,function(r){
					console.log(r);
					if(r){
						$('#rightpanel').html(r);
						
					}
			 });
			return false;
		});
		
	}
	
}

y finalmente, este es mi contenido que cargo dinamicamente..

Código HTML:
$(document).ready(function(){
	// Funcion para mostrar el calendario en el input de fecha
	$( "#datepicker" ).datepicker();
	// parseamos el calendario para mostrar en formato ingles
	$( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
	// Instanciamos holiday para 
	var holidayObject = new Holiday;
	// Acciones para la edicion o carga del formulario
	holidayObject.addHoliday();
});
Saludos
__________________
Claudio A. Marrero - Proyect Manager
  #4 (permalink)  
Antiguo 18/04/2013, 17:56
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con function LIVE o ON de jquery

no utilizes return false, utiliza esto

function(e){
e.preventDefault();
}

Etiquetas: formulario, function, html, javascript, live
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:05.