【问题标题】:How can I take this tabular data and group the fields correctly?如何获取此表格数据并对字段进行正确分组?
【发布时间】:2013-10-20 00:10:45
【问题描述】:

我有这个用户将填写的输入字段表。如您所见,有两对字段,四列,长度至少为五行,并且能够根据需要动态添加更多行。我一直在为如何命名输入字段而苦苦挣扎,以便在提交表单时可以正确地将它们组合在一起。我尝试了不同的行变体等,但没有一个工作得很好。我希望每一对都放在一个数组中,即

[0] -> drum - value
[0] -> size - value
[1] -> drum - value
[1] -> size - value

这是我现在拥有的桌子。非常感谢您的帮助,非常感谢!

<table id="drumInformation">
        <tr>
            <th colspan="9"><p>D R U M I N F O R M A T I O N – Drum Number(s) / Liter(s) or Gallon(s) Used</p>

                <p> If some or all of your drum numbers fall in consecutive order, please feel free to use the
                    "series" method shown below to avoid typing each drum number individually and to save you valuable time.</p>

                <p>Example:<br/>
                    10001, 10002, 10003, 10004, 10005, 10006 or 10001 - 10006</p>
            </th>
        </tr>
        <tr class="labelRow">
            <td class="label">
                <label>Drum No.</label>
            </td>
            <td class="label">
                <label><span class="euro">Liters</span><span class="domestic">Gallons</span></label>
            </td>
            <td class="label">
                <label>Drum No.</label>
            </td>
            <td class="label">
                <label><span class="euro">Liters</span><span class="domestic">Gallons</span></label>
            </td>
            <td class="label">
                <label>Drum No.</label>
            </td>
            <td class="label">
                <label><span class="euro">Liters</span><span class="domestic">Gallons</span></label>
            </td>
            <td class="label">
                <label>Drum No.</label>
            </td>
            <td class="label">
                <label><span class="euro">Liters</span><span class="domestic">Gallons</span></label>
            </td>
        </tr>
        <tr>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td class="remove"></td>
        </tr>
        <tr>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td class="remove"></td>
        </tr>
        <tr>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td class="remove"></td>
        </tr>
        <tr>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td class="remove"></td>
        </tr>
        <tr>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td>
                <input name="row[][drumNumber][]">
            </td>
            <td>
                <input name="row[][gallons][]">
            </td>
            <td class="remove"><img src="/forms/assets/img/Plus-32.png" class="addRow"></td>
        </tr>

    </table>

【问题讨论】:

  • 为什么不把数组号放在名字里呢?这可以使用 javascript 递增和递减。

标签: php html arrays forms input


【解决方案1】:

我找到了一个解决方案,可以将表格行更改为如下所示:

    <tr>
        <td>
            <input name="group[8][drumNumber]">
        </td>
        <td>
            <input name="group[8][gallons]">
        </td>
        <td>
            <input name="group[9][drumNumber]">
        </td>
        <td>
            <input name="group[9][gallons]">
        </td>
        <td>
            <input name="group[10][drumNumber]">
        </td>
        <td>
            <input name="group[10][gallons]">
        </td>
        <td>
            <input name="group[11][drumNumber]">
        </td>
        <td>
            <input name="group[11][gallons]">
        </td>
        <td class="remove"></td>
    </tr>

可能有更清洁的解决方案,但这个可行。我不知道为什么我坚持把 row[] 放在前面。

【讨论】:

    猜你喜欢
    • 2021-07-09
    • 2019-10-02
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多