搜索

首页  >  问答  >  正文

请求中不会出现禁用的表单输入项

我的表单中有一些禁用的输入,我想将它们发送到服务器,但 Chrome 将它们从请求中排除。

有没有办法在不添加隐藏字段的情况下解决此问题?

<form action="/Media/Add">
    <input type="hidden" name="Id" value="123" />

    <!-- this does not appear in request -->
    <input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

</form>

P粉860897943P粉860897943465 天前719

全部回复(2)我来回复

  • P粉722409996

    P粉7224099962023-10-15 17:03:45

    使用Jquery并使用ajax发送数据,您可以解决您的问题:

    <script>
    
    $('#form_id').submit(function() {
        $("#input_disabled_id").prop('disabled', false);
    
        //Rest of code
        })
    </script>

    回复
    0
  • P粉298305266

    P粉2983052662023-10-15 10:30:33

    具有 disabled 属性的元素不会提交,或者您可以说它们的值未发布(请参阅 用于构建表单数据集的 HTML 5 规范)。

    即,

    <input type="textbox" name="Percentage" value="100" disabled="disabled" />

    仅供参考,根据17.12.1 在 HTML 4 规范中:

    1. 禁用的控件不会获得焦点。
    2. 在选项卡导航中会跳过禁用的控件。
    3. 禁用的控件无法成功发布。

    您可以在您的案例中使用readonly属性,通过这样做,您将能够发布字段的数据。

    即,

    <input type="textbox" name="Percentage" value="100" readonly="readonly" />

    仅供参考,根据17.12.2 在 HTML 4 规范中:

    1. 只读元素获得焦点,但用户无法修改。
    2. 选项卡式导航中包含只读元素。
    3. 只读元素已成功发布。

    回复
    0
  • 取消回复