在MVC中使用复选框启用/禁用表单字段



在我的表单asp-netMVC c#上,我有以下字段:

  • True/False作为复选框
  • 需要A作为TextBoxFor
  • 不需要B作为TextAreaFor

当复选框True/False被选中时,我需要:

  • A值>gt>不需要,并禁用此字段
  • CCD_ 8值>gt>必需

你能帮我吗?

下方的我的代码

<div class="row">
<div class="col-md-12">
<div class="form-group" style="background-color: lightgoldenrodyellow; border:3px solid; font-weight:bold;">
<h5 style="font-weight: bold; text-indent: 20px;">
True/False @Html.CheckBoxFor(m => m.Truefalse, true)
</h5>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group">
@Html.LabelFor(m => m.A)
@Html.TextBoxFor(m => m.A, "{0:dd/MM/yyyy}", new { @Class = "Mytextarea2", placeholder = "A" })
@Html.ValidationMessageFor(m => m.A, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group">
@Html.LabelFor(m => m.B)
@Html.TextAreaFor(m => m.B, new { style = "width: 420px; height: 100px;", placeholder = "B" })
</div>
</div>
</div>

在您的模型中,不要对字段A和B使用[必需]注释。

在js中,为复选框添加一个onchange事件。此代码应启用/禁用A/B。

当您在提交表单时调用js时,编写一些前端验证代码来检查框的状态以及A/B文本框是否有效。

最后,请注意服务器端验证。在那里,您可以检查模型的状态,并添加您在前端验证中编写的类似逻辑。

在Javascript中,在更改复选框的方法时,您可以只检查天气复选框是否为true,如果复选框值为true,则在要禁用的字段中添加disable属性,否则在该字段中删除disable属性。

最新更新