Firefox jQuery форма отправки не работает
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();
});
Приведенный выше код прекрасно работает в Safari, Chrome и Opera, но firefox игнорирует form.submit();
. Я протестировал приведенный выше код, добавив console.log('...');
выше и ниже вызова submit, и он выполняется без ошибок. Я также попытался вызвать $(form).submit();
, и я получаю тот же нежелательный результат.
Кто-нибудь сталкивался с этим раньше, или у вас есть решение?
1 ответ:
Обновлено вашим новым кодом
$(function() { var makeField = function(name, value) { return $('<input />').attr({ type: 'hidden', name: name, value: value }); }; $(document).on('click', '.login', function() { var form = $("<form />").attr({ method: "POST" }).append( makeField('n0', 'data1'), makeField('n1', 'data2'), makeField('n2', 'data3') ); // just adding a callback on submit here to show it works form.submit(function(e){ alert("Submitting Form"); }); $("body").append(form); form.submit(); }); })
Смотрите рабочий jsFiddle в FF здесь