【问题标题】:Want to get disabled select field value when form is submitted希望在提交表单时获得禁用的选择字段值
【发布时间】:2021-12-31 09:48:32
【问题描述】:

我有一个表格,其中一个下拉菜单处于禁用状态,如下所示:

<div class="form-group">
   <label asp-for="ItemEditModel.ProjectJobId" class="form-label required"></label>
      <div class="form-group">
         <select class="form-control" asp-for="ItemEditModel.ProjectJobId"
                                    asp-items="Model.ProjectJobList" disabled></select>
      </div>
      <span class="text-danger" asp-validation-for="ItemEditModel.ProjectJobId"></span>
</div>

现在,当我们提交表单时,该字段的值不会出现,因为它处于禁用状态。

知道如何在提交表单时获取此字段值。

【问题讨论】:

    标签: c# jquery asp.net asp.net-core razor-pages


    【解决方案1】:

    使用 Readonly 属性而不是禁用

    【讨论】:

    • 如果我们使用只读,那么用户可以从选择框中选择值,我想禁用它。
    • 禁用的文本框不会回发到服务器,因此您可以尝试使用隐藏字段来存储值并在回发后使用它
    【解决方案2】:

    你可以尝试使用路由参数:

    <form method="post" asp-route-ItemEditModel.ProjectJobId=@Model.ItemEditModel.ProjectJobId>
       ...
    </form>
    

    或者您可以在提交表单之前尝试删除disabled

        <form id="myForm" method="post">
            <div class="form-group">
           <label asp-for="ItemEditModel.ProjectJobId" class="form-label required"></label>
              <div class="form-group">
                 <select class="form-control" asp-for="ItemEditModel.ProjectJobId"
                                            asp-items="Model.ProjectJobList" disabled></select>
              </div>
              <span class="text-danger" asp-validation-for="ItemEditModel.ProjectJobId"></span>
        </div>
            <input type="submit" value="submit"/>
        </form>
    <script>
    $('#myForm').submit(function () {
                $("#ItemEditModel_ProjectJobId").removeAttr("disabled");
                return true; // return false to cancel form action
            });
    </script>
    

    或者你可以添加一个隐藏的输入来绑定ItemEditModel.ProjectJobId

    <form method="post">
          <input hidden asp-for="ItemEditModel.ProjectJobId" />
          ...
    </form>
    

    【讨论】:

      猜你喜欢
      • 2016-06-06
      • 1970-01-01
      • 2017-11-05
      • 2015-08-20
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 2014-10-29
      • 2019-06-30
      相关资源
      最近更新 更多