我有一个表单,其中有相同的产品,但具有不同的属性。该表单类似于下面的内容:
<form>
<table>
<tr>
<td> Line-1 </td>
<td> <input type='text' name='ítem[1][Size]'</td>
<td> <input type='text' name='ítem[1][Color]'</td>
<td> <input type='text' name='ítem[1][Price]'</td>
</tr>
<tr>
<td> Line-2 </td>
<td> <input type='text' name='ítem[2][Size]'</td>
<td> <input type='text' name='ítem[2][Color]'</td>
<td> <input type='text' name='ítem[2][Price]'</td>
</tr>
<tr>
<td> Line-3 </td>
<td> <input type='text' name='ítem[3][Size]'</td>
<td> <input type='text' name='ítem[3][Color]'</td>
<td> <input type='text' name='ítem[3][Price]'</td>
</tr>
<tr>
<td> Line-4 </td>
<td> <input type='text' name='ítem[4][Size]'</td>
<td> <input type='text' name='ítem[4][Color]'</td>
<td> <input type='text' name='ítem[4][Price]'</td>
</tr>
</table>
</form>PHP示例代码:
for($i = 0;$i < count($_POST);$i++){
var_dump($_POST[$i]);
}错误:
Notice: Undefined offset: 0 in C:\xampp\htdocs\test\testing.php on line 5如果我使用js动态删除item2,提交php会抛出一个错误,因为它找不到2号。
也许我做得不对?
发布于 2015-05-05 04:56:03
在您的PHP代码中,按照建议使用foreach:
foreach($_POST['item'] as $item){
echo $item['Size'] . "<br />";
echo $item['Color'] . "<br />";
echo $item['Price'] . "<br />";
echo "<hr />"
}编辑:
另一个问题,一旦我删除了第2行,我将如何重新更改行号?
这是在JS或JQuery中完成的。类似于:
var i = 1;
$.each($("tr"), function(){
$(this).next("input[name*='Size']").attr("name", "item[" + i + "][Size]");
$(this).next("input[name*='Color']").attr("name", "item[" + i + "][Color]");
$(this).next("input[name*='Price']").attr("name", "item[" + i + "][Price]");
i++;
});https://stackoverflow.com/questions/30039521
复制相似问题