且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

form.submit()在Firefox中不起作用

更新时间:2023-02-25 18:35:49

document.body.appendChild(jForm) won因为 jForm 不是dom元素,所以它是一个jQuery对象,因此请在 jForm.submit(); $>之前添加以下脚本c $ c

$ p $ jForm.appendTo('body')






 函数loadPage(url,projectName){
var jForm = $('< form>< / form>',{
action:url,
method:'post'
});

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

jForm.appendTo('body')。submit();
}


I am using following javascript function to construct a form and submitting it to the server. It works fine in Chrome browser but not working in 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();
}

I got some suggestion from SE's older post Mozilla form.submit() not working, to append the form to document body document.body.appendChild(jForm) but unfortunately that didn't work for me either. I got following error in debug console when I used document.body.appendChild(jForm) before form submit.

TypeError: Argument 1 of Node.appendChild does not implement interface Node. @ http://localhost:9000/assets/javascripts/global.js

Am I missing something here? Pls advise.

document.body.appendChild(jForm) won't work because jForm is not a dom element, it is a jQuery object so add the below script before 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();
}