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