表格在foreach

时间:2015-10-17 06:33:29

标签: javascript php jquery forms

我有一个包含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>

输出将是:

enter image description here

现在我想要做的是,当用户在UserCode中输入一个整数并点击提交时,它会检查数据库中是否存在该整数。我在checkUserCodeValidation(表单的操作)中处理该过程。问题是,如果填写了任何字段,它会将userCode的值发送为null。但最后一个有效。我该怎么办才能单独提交每一个?

重要!!:我尝试使用一个按钮,其中所有表格都是一种形式,但问题是它发送的数组会让人痛苦,因为我必须内爆它和后来我的功能。所以,请帮助我,如果你有通过Javascript的任何解决方案,也将不胜感激。

Cheeeeers

2 个答案:

答案 0 :(得分:1)

您必须为每个输入提供唯一ID。所以你得到了所有的价值。

其他方式是让每一行成为一个表格。

Ajax是最好的解决方案,但在这种情况下,输入类型必须是按钮而不是提交。然后你必须定义点击处理程序,它进行ajax调用。这是jjery doc for ajax post:http://api.jquery.com/jquery.post/ 您也可以在vanilla js中执行此操作:http://vanilla-js.com

答案 1 :(得分:1)

你的文本框ID是相同的

所以将任何动态值添加到文本框和名称

 <input name="userCode[]" id="userCode<?php $i ?>" value=""/>