你如何使form.submit()在Firefox中工作?

时间:2014-09-05 20:07:13

标签: javascript html firefox dom

我已实施以下代码:

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时什么都不做。

任何想法可能是什么问题?

2 个答案:

答案 0 :(得分:4)

尝试添加

document.body.appendChild(form)

beforesubmit

答案 1 :(得分:2)

在Firefox提交之前,您需要将表单放在页面的DOM中。

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

......应该这样做。