logo
Secciones

Entradas del blog


Enviar por ajax un formulario devuelto por ajax previamente

Sin comentarios

Introducción

Al enviar un formulario vía ajax para realizar una acción, lo normal es utilizar el código siguiente, sin embargo, si por alguna razón, el formulario que se desea enviar por ajax, fue devuelto también por ajax, el código siguiente no funciona:

$("#form").submit(function( event ) {
	var parametros = $(this).serialize();
	$.ajax({
		type: "POST",
		dataType: 'json',
		url: "ajax/addForm.php",
		data: parametros,
		beforeSend: function(objeto){
                      //algo antes
		},
		success: function(response){
                      //algo si todo va bien
		},
		error: function(response) {
                      //algo si falló
		}
	});
	event.preventDefault();
});

Éste fragmento de código es muy simple de invocar, ya que espera cuando se ejecuta el evento submit del formulario, y realiza la acción previamente programada, sin embargo, si el formulario también se obtuvo mediante una respuesta ajax, en mi caso no ha funcionado.

Solución

Ésta solución es aplicable para muchos formulario al mismo tiempo, ya que se utiliza dom para acceder al elemento mediante una clase, por lo tanto, sólo basta añadir la el nombre de la clase al formulario y listo. El código siguiente permite enviar formulario por ajax que fue devuelto por ajax.

$(document).on("submit", ".formUp", function () {
	var parametros = $(this).serialize();
	$.ajax({
		type: 		"POST",
		dataType: 	"JSON",
		method: 	"POST",
		url: "ajax/formUp.php",
		data: parametros,
		beforeSend: function(objeto){
			//algo previo al enviar
		},
		success: function(respuesta){
			//algo si va todobien
		},
		error: function(data) {
			//algo si falla
		}
	});
	event.preventDefault();
});

Ésta es la solución que encontré, asumiré que las otras sección que son el catch de la información desde php, la podrán generar, cualquier duda, dejar un comentario.

Comentarios:

Conoce la red social linuxClick
Redes sociales
Accesos directos