【问题标题】:Hidden element of a form array is not getting set in PHP表单数组的隐藏元素未在 PHP 中设置
【发布时间】:2014-02-15 03:47:11
【问题描述】:

因此,我的任务是爬取一个小型 PHP 应用程序,以修复错误并尽可能改进。我注意到的一件事是更新不是更新,它们是删除+插入,所以我正在尽我所能来解决这个问题。

为此,我在一个包含所述项目 ID 的大型项目表的每一行中添加了一个隐藏元素,以便我知道要更新什么。问题是它没有在 $_POST 的 items 数组中设置,我不知道为什么。

例如,下面是 HTML 中的一行:

<div class="row">
  <div class="c item_index"><sub>1</sub></div>
  <input type="hidden" name="ordered_items[1][id]" id="item_id1" value="9" disabled="">
  <div class="c qty">
    <input type="text" name="ordered_items[1][quantity]" id="quantity1" value="12">
  </div>
  <div class="c vendor_num">
    <input type="text" name="ordered_items[1][vendor_number]" id="vendor_num1" value="">
  </div>
  <div class="c item_desc">
    <input type="text" name="ordered_items[1][description]" id="desc1" value="12">
  </div>
  <div class="c cost_per">
    <input type="text" name="ordered_items[1][cost_per]" id="cost1" value="12.00">
  </div>
  <div class="c total">
    <input type="text" name="ordered_items[1][total]" class="total" placeholder="0.00"
           id="total1" value="144.00" readonly="">
  </div>
</div>

这是$_POST中的条目:

[ordered_items] => Array
        (
            [1] => Array
                (
                    [quantity] => 12
                    [vendor_number] => 
                    [description] => 12
                    [cost_per] => 12.00
                    [total] => 144.00
                )

        )

我感谢任何和所有建议!

【问题讨论】:

    标签: php html


    【解决方案1】:

    删除disabled="" 属性。发布时不提交禁用的输入。

    来自HTML specification

    许多属性是布尔属性。元素上存在布尔属性表示真值,不存在该属性表示假值。

    如果该属性存在,则其值必须是空字符串或与属性的规范名称匹配的不区分大小写的 ASCII 值,并且没有前导或尾随空格。

    注意:布尔属性中不允许使用值“true”和“false”。要表示假值,必须完全省略该属性。

    【讨论】:

      【解决方案2】:

      尝试删除隐藏字段中的disabled="" 属性。

      【讨论】:

      • disabled="false" 仍将禁用它。启用元素的方法是完全删除该属性。
      • 谢谢,更新的答案。如果您执行 disabled=false 似乎可以工作,因为 disabled="false" 在解析为布尔值时被评估为 true。
      • 属性不会被解析为布尔值。在 jsfiddle 中尝试一下。
      • disabled 属性不是布尔属性吗?
      猜你喜欢
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多