var makeField = function(name, value) {
return $('<input />').attr({
type: 'hidden',
name: name,
value: value
});
};
$('.login').on('click', function() {
var form = $('<form />').attr('method', 'POST');
form.append(makeField('n0', 'data1'));
form.append(makeField('n1', 'data2'));
form.append(makeField('n2', 'data3'));
$(document).append(form);
form.submit();
});
Powyższy kod działa poprawnie w Safari, Chrome i Opera, ale Firefox ignoruje form.submit();
. Przetestowałem powyższy kod, dodając console.log('...');
powyżej i poniżej wywołania, i jest on wykonywany bez błędu. Próbowałem również wywoływać $(form).submit();
, a otrzymałem taki sam niepożądany wynik.Przesyłanie formularza jQuery Firefox nie działa
Czy ktoś już wcześniej to robił lub miał rozwiązanie?
Bądź bardziej przyjazny jQuery, spróbuj zmienić 'var tworzą = document.createElement (Postać);' 'do formularza var = $ ("
") .attr ('method', 'POST'); ' – SpYk3HHKluczową częścią jest to, że append() jQuery po cichu nic nie robi po wywołaniu elementu innego niż element. –