Mozilla FireFox中的表单创建问题

时间:2015-04-04 07:20:58

标签: javascript jquery html mozilla

我正在使用MVC.NET 5中的一个项目。在这个项目中,我有一个表格,里面有一些复选框。我想将这些复选框值发送到服务器,但我没有表单元素。但我用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。代码有什么问题?

1 个答案:

答案 0 :(得分:0)

我通过一些测试找到了它,

我们可以使用以下代码替换上面的代码:

$("#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();
    });