通过AJAX提交动态表格表单并获取亲属值到PHP中

Posted

技术标签:

【中文标题】通过AJAX提交动态表格表单并获取亲属值到PHP中【英文标题】:Submit a dynamic table form through AJAX and get relatives values into PHP 【发布时间】:2012-06-09 21:29:48 【问题描述】:

我有一个这样的表格:

<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 调用提交到带有 Jquery 的$('form').serialize(); 函数的 php 页面。

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

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

此脚本的下一步是使用 JSON 对象将表的值传递给 PHP……但这是次要问题 :)

【问题讨论】:

【参考方案1】:

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

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

PHP 会自动更新索引为

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

【讨论】:

谢谢!如何从 PHP 中了解我在表单中有多少行? count($_POST['colore']) 会告诉你有多少。您也可以使用 foreach() 循环遍历它 差不多。请参阅foreach manual page 了解它应该是怎样的。你想要foreach($_POST['colore'] as $value) foreach($_POST['colore'] as $key =&gt; $value) ,这取决于你在做什么。

以上是关于通过AJAX提交动态表格表单并获取亲属值到PHP中的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Ajax没有从表单获取值到Controller

iview表格里某一列的单选怎么实现

表格表格中获取不到button选择器

通过 AJAX 提交多个具有相同名称的 HTML 表单 [重复]

php 到 AJAX 表单提交

在 PHP 中提交表单时如何保留输入字段中的值?