Mozilla FireFox 中的表单创建问题

Form creation issue in Mozilla FireFox

我正在 MVC.NET 5 中进行一个项目。在这个项目中,我有一个 table,其中有一些复选框。我想将这些复选框值发送到服务器,但我没有表单元素。但是我用 jQuery 创建了一个表单元素。这是表单创建代码:

$("#setNewRoles").click(function (evt) {
        evt.preventDefault();        
        var checkbox = $(".checkbox:checked");
        var form = $("<form />").attr({ "action": "/Admin/Account/AddnewRolesForUser", "method": "post" });
        alert(form);
        for(var i=0;i<checkbox.length;i++){
            if ($(checkbox[i]).attr("disabled") != "disabled") {               
                $(form).append("<input type='checkbox' name='rolesValue[]' value='" + $(checkbox[i]).val() + "' checked />");
            }
        }
        $(form).submit();
    });

此代码在 Chrome 中可以正常工作,但在 Mozilla 中不起作用。代码怎么了?

我通过一些测试发现的,

我们可以用这段代码替换上面的代码:

$("#setNewRoles").click(function (evt) {       
        evt.preventDefault();        
        var checkbox = $(".checkbox:checked");
        var form = $("<form />").attr({ "action": "/Admin/Account/AddnewRolesForUser", "method": "post", "id": "setRolesForUserForm", "style": "visibility: hidden;" });        
        for(var i=0;i<checkbox.length;i++){
            if ($(checkbox[i]).attr("disabled") != "disabled") {               
                $(form).append("<input type='checkbox' name='rolesValue[]' value='" + $(checkbox[i]).val() + "' checked />");
            }
        }
        $('body').append(form);
        $('#setRolesForUserForm').submit();
    });