请求中不会出现禁用的表单输入项
P粉860897943
P粉860897943 2023-10-14 18:01:00
0
2
610

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

全部回复(2)
P粉722409996

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

<script>

$('#form_id').submit(function() {
    $("#input_disabled_id").prop('disabled', false);

    //Rest of code
    })
</script>
P粉298305266

具有 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. 只读元素已成功发布。
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!