Javascript(jQuery)でformを生成して.submit()するとFirefoxだけ動作しないエラー

$('<form/>', {action: '/url', method: 'post'})
    .append($('<input/>', {type: 'hidden', name: 'test1', value: 'data1'}))
    .append($('<input/>', {type: 'hidden', name: 'test2', value: 'data2'}))
    .submit();


と書いて、ChromeとかSafariとかで動いているから満足していたが、
どうも、Firefoxだけ動かないと言うことが発覚して修正した。


submit()する前に一度bodyにFormデータを追加してあげると良いみたい。


ということで修正後

var form = $('<form/>', {action: '/url', method: 'post'})
    .append($('<input/>', {type: 'hidden', name: 'test1', value: 'data1'}))
    .append($('<input/>', {type: 'hidden', name: 'test2', value: 'data2'}));
$('body').append(form);
form.submit();






JavaScript 第6版

JavaScript 第6版

よくわかるJavaScriptの教科書

よくわかるJavaScriptの教科書

Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

10日でおぼえる jQuery入門教室

10日でおぼえる jQuery入門教室