form.submit()无法在Firefox中运行

svj*_*vjn 6 html javascript forms jquery

我正在使用以下javascript函数来构造表单并将其提交给服务器.它在Chrome浏览器中运行良好,但在Firefox中无效.

function loadPage(url, projectName){
    var jForm = $('<form></form>');
    jForm.attr('action', url);
    jForm.attr('method', 'post');

    var jInput = $("<input>");
    jInput.attr('name', 'curPrj');
    jInput.attr('value', projectName);
    jForm.append(jInput);

    jForm.submit();
}
Run Code Online (Sandbox Code Playgroud)

我从SE的旧帖子Mozilla form.submit()中找不到任何建议,将表单附加到文档正文document.body.appendChild(jForm)但不幸的是,这对我也没有用.我document.body.appendChild(jForm)在表单提交之前使用时在调试控制台中出现以下错误.

TypeError: Argument 1 of Node.appendChild does not implement interface Node. @ http://localhost:9000/assets/javascripts/global.js
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?请指教.

Aru*_*hny 16

document.body.appendChild(jForm)不会工作,因为jForm它不是一个dom元素,它是一个jQuery对象,所以之前添加下面的脚本jForm.submit();

jForm.appendTo('body')
Run Code Online (Sandbox Code Playgroud)
function loadPage(url, projectName) {
    var jForm = $('<form></form>', {
        action: url,
        method: 'post'
    });

    $("<input>", {
        name: 'curPrj',
        value: projectName
    }).appendTo(jForm);

    jForm.appendTo('body').submit();
}
Run Code Online (Sandbox Code Playgroud)