我有一个包含foreach的表格。这是我的代码:
<table style="direction: rtl;text-align: right;width: 1500px;font-family: tahoma;" align="center">
<thead>
<tr>
<th style="width:5%; ">#</th>
<th style="width:20%;">Name</th>
<th>Date</th>
<th>Buyer Code</th>
<th>User Code</th>
<th>Check</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach($Items as $Item)
{
echo '<form method="post" action="/provider/provider/checkUserCodeValidation">
<tr>
<td>'.$i.'</td>
<td>'.$Item->getUser()->getFullName().'</td>
<td>'.$Item->getCreationDate(true,'Date').'</td>
<td>'.$Item->getBuyerCode().'</td>
<td><input name="userCode" id="userCode" value=""/></td>
<td><input type="submit" name="Submit" id="submit_butt" value="Submit"/></td>
</tr>
</from>';
$i++;
}
?>
</tbody>
</table>
输出将是这样的:
现在我想做的是,当用户在UserCode中输入一个整数并单击Submit时,它将检查数据库中该整数的存在。我在checkUserCodeValidation(表单的操作)中处理该过程。问题是,如果填充了任何字段,它将以空值发送userCode的值。但是最后一个有效。我该怎么做才能分别提交每个?
重要!!:我尝试使用一个按钮,其中所有表都处于一种形式,但是问题是它发送了一个数组,这会让人头疼,因为我必须将其内插并在以后的函数中填充。因此,请对此提供帮助,如果您通过Javascript有任何解决方案,也将不胜感激。
啦啦队
最佳答案
您必须为每个输入提供唯一的ID。这样您就获得了所有价值。
另一种方法是使每一行成为一个表格。
Ajax将是最好的解决方案,但是在这种情况下,输入类型必须是按钮而不是提交。然后,您必须定义单击处理程序,以进行ajax调用。这是有关ajax帖子的jquery文档:http://api.jquery.com/jquery.post/
您也可以在普通js中进行操作:http://vanilla-js.com