通过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 => $value)
,这取决于你在做什么。以上是关于通过AJAX提交动态表格表单并获取亲属值到PHP中的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Ajax没有从表单获取值到Controller