小编典典

禁用的表单输入未出现在请求中

all

我在表单中有一些禁用的输入,我想将它们发送到服务器,但 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>

阅读 91

收藏
2022-03-23

共1个答案

小编典典

具有该属性的元素未提交,或者您可以说它们的值未发布(请参阅构建表单数据集的 HTML 5
规范
disabled中的步骤 3
下的第二个要点)。

IE,

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

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

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

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

IE,

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

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

  1. 只读元素获得焦点,但用户不能修改。
  2. 只读元素包含在标签导航中。
  3. 只读元素已成功发布。
2022-03-23