我正在使用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。代码有什么问题?
答案 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();
});