Chrome上的Jquery Form.submit()可以运行但不适用于Firefox

dru*_*ome 10 javascript jquery onclick form-submit

我有以下功能从页面收集数据,将它们全部填入"数据"变量,将其附加到表单然后提交它.

 $(document).ready(function () {
$('#content-tab .submit').click(function () {
    var data = {champion: window.selectedChampion, runes: runes, masteries: masteries, items: items, skillingOrders: skillingOrders, chapters: chapters, title: $('#guide_title').val()};
            data = JSON.stringify(data); 
            $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)).submit();
    });
});
Run Code Online (Sandbox Code Playgroud)

页面上有一个div,当点击时触发它:

<div class='button pointer submit'>Submit</div>
Run Code Online (Sandbox Code Playgroud)

在Chrome中测试时一切都很好.然后提交的表单会按照计划重定向到页面.但是在Firefox中进行测试时(第5和第6版),点击div不会做任何事情.纳达.小人物.我想知道Firefox出了什么问题?任何帮助将受到高度赞赏.谢谢.

kar*_*m79 39

在提交之前,我会尝试将表单添加到DOM中.

$('#content-tab .submit').click(function() {

    var data = {
        champion: window.selectedChampion,
        runes: runes,
        masteries: masteries,
        items: items,
        skillingOrders: skillingOrders,
        chapters: chapters,
        title: $('#guide_title').val()
    };
    data = JSON.stringify(data);
    var $form = $("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data));
    $form.appendTo("body").submit();

});
Run Code Online (Sandbox Code Playgroud)