我有form
,其中包含table
。在table
中,我使用foreach
来获取多个数据。
这是我的代码:
<from method="post" action="/provider/provider/checkUserCodeValidation">
<table style="direction: rtl;text-align: right;width: 1500px;font-family: tahoma;" align="center">
<thead>
<tr>
<th style="width:5%; ">row</th>
<th style="width:20%;">Fullname</th>
<th style="width:30%">Title</th>
<th style="width: 5%">Number</th>
<th>Date</th>
<th>ProCode</th>
<th>UseCode</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach($Items as $Item)
{
echo '<tr>
<td>'.$i.'</td>
<td>'.$Item->getUser()->getFullName().'</td>
<td>'.$Item->getContractTitle().'</td>
<td>'.$Item->getCount().'</td>
<td>'.$Item->getCreationDate(true,'Date').'</td>
<td>'.$Item->getProviderCode().'</td>
<td><input name=userCode id=userCode></td>
</tr>';
$i++;
}
?>
</tbody>
<input type="submit" name="Submit" id="submit_butt" value="Submit"/>
</table>
</from>
除了作为输入标记的UseCode
之外,每行中的值都是静态的。
用户输入一个数字,然后按下submit
按钮,表单应该发布数据,但不会。
我想知道为什么?我甚至被允许在桌子上做一个foreach吗?如果没有,我还应该做些什么呢?
无论如何,解决方案有帮助! JQuery
,Ajax
,任何内容。
答案 0 :(得分:4)
您需要为输入元素指定正确的名称。
更改
<td><input name=userCode id=userCode></td>
要:
<td><input name="userCode[]" id="userCode" value=""/></td>
请注意[]
属性周围的方括号name
。
当您发布多个值时,您需要发布数组而不是单个值。
在后端PHP中,只需使用,
echo '<pre>';
print_r($_POST['userCode']);
echo '</pre>';
您将在循环中获得所有发布的值。
修改强>
<form>
标记不正确。
变化:
<from
要
<form
另外,关闭标签。