2014-09-05 65 views
1

我實現下面的代碼:你如何使form.submit()在Firefox中工作?

function post(path, params) { 

    var form = document.createElement('form'); 
    form.setAttribute('target', '_blank'); 
    form.setAttribute('method', 'post'); 
    form.setAttribute('action', path); 

    var hiddenField = document.createElement('input'); 
    hiddenField.setAttribute('name', 'JSON'); 
    hiddenField.setAttribute('type', 'submit'); 
    hiddenField.setAttribute('value', JSON.stringify(params)); 

    form.appendChild(hiddenField); 

    form.submit(); 

} 

它奇妙的作品在Chrome,Safari和IE,但使用Firefox時,什麼都不做。

任何想法可能是什麼問題?

+0

控制檯是否顯示錯誤? – 2014-09-05 20:08:03

+0

@JohnConde不,什麼都不做 – Aaron 2014-09-05 20:10:04

回答

4

試加

document.body.appendChild(form) 

beforesubmit

2

你需要把表單頁面的DOM之前,Firefox會提交。

document.body.appendChild(form); 
form.submit(); 

...應該做的伎倆。