通过 AJAX 提交动态表表单,并将相关值获取到 PHP 中


Submit a dynamic table form through AJAX and get relatives values into PHP

>我有一个这样的表格形式:

<table class="table table-striped table-bordered table-condensed">
            <tbody>
                <tr><td><input type="text" class="input-small" name="article" /></td>
                    <td>
                        <select name="colore">
                            <option value="nabuk">Nabuk</option>
                            <option value="nero">Nero</option>
                            <option value="blu">Blu</option>
                            <option value="rosso">Rosso</option>
                        </select>
                     </td>
                    <td>
                        <select name="fondo">
                            <option value="gomma">Gomma</option>
                            <option value="cuoio">Cuoio</option>
                            <option value="legno">Legno</option>
                        </select>
                    </td>
                    <td>
                        <select name="numero">
                            <option value="36">36</option>
                            <option value="37">37</option>
                            <option value="38">38</option>
                            <option value="39">39</option>
                        </select></td>
                    <td><input type="number" class="input-mini" min="1" max="200" name="qnt" step="1" /></td>
                    <td></td>
                </tr>
            </tbody>
        </table>

用户可以使用 Jquery 脚本向此表添加许多行。此脚本正常且工作正常。之后,表形式通过 Ajax post 调用提交到 PHP 页面,其中包含 Jquery 的$('form').serialize();函数。

问题是:如何在不使用隐藏的补充字段(例如提交表中的行数)或不对行字段的名称使用渐进式索引的情况下,将每个行字段的值检索到服务器端 (PHP)?

我还没有找到解释解决方案的东西... :|

此脚本的下一步是将表的值传递给带有 JSON 对象的 PHP...但这是一个次要问题:)

您可以使用数组。在字段末尾使用 [] 命名字段。例如

<select name="colore[]">
...
<select name="fondo[]">
...
<select name="numero[]">

PHP 将自动更新索引为

$_POST['colore'][0]
$_POST['colore'][1]
$_POST['colore'][2]
etc.