Javascript 表单提交时未将禁用复选框发送到模型

Javascript 表单提交时未将禁用复选框发送到模型,javascript,c#,jquery,html,asp.net-mvc,Javascript,C#,Jquery,Html,Asp.net Mvc,我有一个带有复选框的表,这些复选框根据用户使用jquery的选择自动选中和禁用。但是,当我提交表单时,复选框值不会发送到模型。如果我删除jquery代码并手动选中复选框,那么数据将正确地发送到模型,并且一切正常。这是我一直在使用的jquery代码。我也尝试过使用 $('.verification5').attr('checked', 'checked'); $('.verification5').attr('disabled', 'disabled'); .prop('checked

我有一个带有复选框的表,这些复选框根据用户使用jquery的选择自动选中和禁用。但是,当我提交表单时,复选框值不会发送到模型。如果我删除jquery代码并手动选中复选框,那么数据将正确地发送到模型,并且一切正常。这是我一直在使用的jquery代码。我也尝试过使用

 $('.verification5').attr('checked', 'checked');
    $('.verification5').attr('disabled', 'disabled');

.prop('checked', true);

在表单提交时,您需要首先启用复选框

$(form).submit(){
         $('.verification5').removeAttr('disabled');
}

或者,您也可以使用readonly属性,而不是使用disabled属性,因为readonly属性可以在表单提交时发送到服务器。

在表单提交时,您需要先启用复选框

$(form).submit(){
         $('.verification5').removeAttr('disabled');
}

或者,除了使用disabled属性,您还可以使用readonly属性,因为readonly属性可以在表单提交时发送到服务器。

每个被禁用的元素,从语义上来说,都意味着没有任何行为。因此,它不会被发送到服务器。您可以在本节的规范中看到

您可以将
disable
更改为
readonly
,它是一个有效信息,但仅适用于read。它将被发送而不被更改。对于示例:

$('.verification5').prop('readonly', true);

每个被禁用的元素,在语义上意味着没有任何行为。因此,它不会被发送到服务器。您可以在本节的规范中看到

您可以将
disable
更改为
readonly
,它是一个有效信息,但仅适用于read。它将被发送而不被更改。对于示例:

$('.verification5').prop('readonly', true);

具有禁用属性的输入字段在提交表单时不会将其值发送给控制器。您可以使用以下解决方案之一来解决此问题

1) 您可以使用只读属性而不是禁用属性向控制器发送数据


2) 您可以为禁用的复选框属性添加隐藏字段,以将数据发送到控制器

具有禁用属性的输入字段在提交表单时不会将其值发送到控制器。您可以使用以下解决方案之一来解决此问题

1) 您可以使用只读属性而不是禁用属性向控制器发送数据


2) 您可以为禁用的复选框属性添加隐藏字段,以将数据发送到控制器

,如果禁用,则未按选中状态读取/查找数据。在您的表单提交中,您可以在提交时启用它们,然后将获取值/支票谢谢!这回答了我的问题,为什么它没有发送!如果禁用,则未按选中状态读取/查找。在您的表单提交中,您可以在提交时启用它们,然后将获取值/支票谢谢!这回答了我的问题,为什么它没有发送!我正在尝试此操作,但如何使复选框处于禁用状态或不可编辑状态readonly属性并不能真正阻止用户取消选中复选框我正在尝试此操作,但如何使复选框处于禁用状态,或者不可编辑readonly属性不能真正阻止用户取消选中复选框这是我最终使用的解决方案,因此用户无法编辑复选框。并且仍然发送数据。谢谢你的帮助!这是我最终得到的解决方案,用户无法编辑复选框。并且仍然发送数据。谢谢你的帮助!