Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2016, 20:10
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Pregunta AJAX jQuery no reconoce mi formulario

Hola a todos!

Tengo varios formularios que intento gestionar con AJAX jQuery. Quiero minimizar el código que uso, así que intento emplear una misma función AJAX para todos los formularios, pero no me sale. Aquí va lo que llevo:
Código HTML:
 <form id="mi_forma_1">
    <input type="hidden" name="forma" value="mi_forma_1" />
    <input type="submit" value="Enviar" id="1" />
  </form>

  <form id="mi_forma_2">
    <input type="hidden" name="forma" value="mi_forma_2" />
    <input type="submit" value="Enviar" id="2" />
  </form> 

Código Javascript:
Ver original
  1. id_formulario = null;
  2.  
  3.   $("input:submit").click(function(e){
  4.     e.preventDefault();
  5.     id_del_submit     = $(this).attr('id');  // Lo cual obtiene "1" o "2"
  6.     id_formulario = '"#mi_forma_'+id_del_submit+'"';
  7. });
  8.  
  9.  
  10.   $(id_formulario).on("submit", function(e) {
  11.     e.preventDefault();
  12.     var datos = $(id_formulario).serializeArray();
  13.     $.ajax({
  14.       type: "POST",
  15.       dataType: "json",
  16.       url: "process.php",
  17.       data: datos,
  18.       success: function(response) {
  19.         $("#mensaje").text( response.statusResponse );
  20.       },
  21.       complete: function(jqXHR, estado, error) {
  22.         if (estado == "parsererror") {
  23.           $("#mensaje").text( estado );
  24.         }
  25.       }
  26.     });
  27.   });

Resultado: No pasa nada! Al hacer click al submit no se ejecuta AJAX. He realizado ya varias pruebas y veo que la variable id_formulario contiene la cadena "#mi_forma_1" o "#mi_forma_2".

¿Por qué AJAX nunca se ejecuta? Por lo que se ve, la línea
Código Javascript:
Ver original
  1. $(id_formulario).on("submit", function(e) {
no reconoce el valor de id_formulario .

¿Cómo solucionar esto?


Saludos!

Última edición por berkeleyPunk; 21/05/2016 a las 20:52