小编典典

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

html

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

阅读 282

收藏
2020-05-10

共1个答案

小编典典

具有disabled属性的元素未提交,或者您可以说它们的值未发布有关构建表单数据集的信息,请参见[HTML5规范第3步中的第二个要点)。

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

仅供参考,按照HTML 4规范中的17.12.1:

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

您可以根据需要使用readonly属性,这样就可以发布字段的数据。

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

仅供参考,按照HTML 4规范中的17.12.2:

  1. 只读元素获得焦点,但用户无法对其进行修改。
  2. 选项卡导航中包含只读元素。
  3. 只读元素已成功发布。
2020-05-10