2011-08-19 28 views
10

Tengo la siguiente función que recopila datos de una página, los incluye en la variable 'datos', los agrega a un formulario y luego los envía.Jquery Form.submit() en Chrome funciona pero no en Firefox

$(document).ready(function() { 
$('#content-tab .submit').click(function() { 
    var data = {champion: window.selectedChampion, runes: runes, masteries: masteries, items: items, skillingOrders: skillingOrders, chapters: chapters, title: $('#guide_title').val()}; 
      data = JSON.stringify(data); 
      $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)).submit(); 
    }); 
}); 

Hay un div en la página que desencadena este cuando se hace clic en:

<div class='button pointer submit'>Submit</div> 

Todo está bien cuando se prueba en Chrome. El formulario envía luego redirige a una página, tal como se planeó. Pero mientras pruebas en Firefox (v. 5 y 6), al hacer clic en el div no se hace nada. Nada. Zilch. Me pregunto qué salió mal en Firefox. Cualquier ayuda sería muy apreciada. Gracias.

+0

hace el selector '# content-tab .submit' seleccionar cualquier cosa en firefox. compruébalo con una 'alerta ($ ('# content-tab .submit'). size());' – russau

+0

@russau devuelve un '1' así que sí. – druesome

Respuesta

39

Intentaré agregar el formulario al DOM antes de enviarlo.

$('#content-tab .submit').click(function() { 

    var data = { 
     champion: window.selectedChampion, 
     runes: runes, 
     masteries: masteries, 
     items: items, 
     skillingOrders: skillingOrders, 
     chapters: chapters, 
     title: $('#guide_title').val() 
    }; 
    data = JSON.stringify(data); 
    var $form = $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)); 
    $form.appendTo("body").submit(); 

}); 
+0

Hola, karim79, lo dejé en mi código de muestra. La función anterior ya está incluida en $ (documento). Listo (función() {xxx}); – druesome

+0

@druesome - Tengo una última idea, por favor vea mi edición. – karim79

+0

Guau, excelente. ¡Este lo hizo! – druesome

Cuestiones relacionadas