2012-02-29 16 views
6

En relación con el plugin: http://malsup.com/jquery/form/#getting-startedFormulario jQuery Plugin no responde bien con FireFox

recientemente he tratado de actualizar de edad v2.28 a v2.96, pero no puedo, ya que parece ser un nuevo error introducido cuando tratando de usar FireFox para enviar un formulario que se ha cargado utilizando otra llamada Ajax.

Tengo dos tipos de formularios: los que cargo sin una llamada Ajax y otros que cargo desde el servidor. Yo uso ajaxForm() para la unión:

function bindAjaxResponse() { 
    // Bind for Ajax POST 
    var options = { 
      delegation: true, 
      //target:  '#output1', // target element(s) to be updated with server response 
      beforeSubmit: showRequest, // pre-submit callback 
      success:  showResponse // post-submit callback 
     }; 

    $('#my_form').ajaxForm(options); 
} 

Tanto en Chrome e IE, el código funciona bien y ambos showRequest y showResponse se llaman y se llena con los parámetros adecuados. Con la última versión de FireFox (v10.0.2) solo se llama a showRequest, pero showResponse nunca se llama. FireBug muestra claramente que no se realiza ningún envío. No hay mensajes de error ni advertencias en la ventana de la consola. Realmente no tengo idea de qué podría desencadenar tal diferencia en el comportamiento.

agradar a la mente que todo este código funcionó a la perfección en todos los navegadores en la versión anterior v2.28

cualquier persona?

Pregunta cruzada publicado en https://forum.jquery.com/topic/jquery-form-plugin-not-responding-well-with-firefox

Gracias

+1

¿Es este error? https://github.com/malsup/form/issues/171 Acabo de probar con la última versión y funciona perfectamente, intente actualizar de nuevo. – Tjkoopa

+0

Sí, parece que sí. Ahora está trabajando con v3.02 – Collector

Respuesta

4

Parece que hubo un error en v2.96 y como ahora me actualicé a v3.02 está resuelto.

6

que estaba teniendo problemas con las formas de jQuery, así que acabo de llamar directamente $ .ajax:

function bindAjaxResponse() { 
    // Bind for Ajax POST 

    $('#my_form').submit(function() { 
     var datastream = $(this).serialize(); 

     console.log('Submitting form'); 

     $.ajax({ 
      type: 'post', 
      url: $(this).form.attr('action'), 
      data: datastream, 
      timeout: 2000, 

      error: function() { 
       console.log("Failed to submit"); 
      }, 
      success: function(data) { 
       console.log('Successfully submitted form'); 
       console.log(data); 
      } 
     }); 

     return false; 
    }); 
} 
+0

Gracias por su respuesta, pero afortunadamente este error está solucionado. Sigo creyendo que usar el plugin de formularios es mejor que reescribir todo, que puede no ser tan compatible como el código escrito y mantenido de forma permanente. – Collector

+0

@ ub3rst4r Hola, estoy teniendo problemas con una aplicación que estoy tratando de escribir usando JQuery (complemento de formulario JQuery específicamente), que he publicado aquí: http://stackoverflow.com/questions/20729645/jquery-file-upload- using-post-redirects-to-post-response. Por favor, échale un vistazo. Hay una recompensa por la respuesta correcta. – EternallyCurious

Cuestiones relacionadas