Form.submit()在firefox中不起作用

form.submit() not working in firefox

本文关键字:firefox 不起作用 submit Form      更新时间:2023-09-26

我使用以下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();
}

我从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

我错过了什么吗?请建议。

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

jForm.appendTo('body')

function loadPage(url, projectName) {
    var jForm = $('<form></form>', {
        action: url,
        method: 'post'
    });
    $("<input>", {
        name: 'curPrj',
        value: projectName
    }).appendTo(jForm);
    jForm.appendTo('body').submit();
}