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('...');
来测试上述代码,并且它无误地执行。我也尝试拨打$(form).submit();
,我得到了相同的不想要的结果。Firefox jQuery表单提交不起作用
有没有人遇到过这个,或有解决方案?
要更加友好的jQuery,尝试改变'变种形式=使用document.createElement( '形式');''到形式变种= $(“
”).attr('method','POST');' – SpYk3HH 2012-04-11 15:02:03关键部分是jQuery的append()在非元素上调用时默默无闻。 – 2012-04-11 18:42:43