我有一个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来做到这一点?如果没有,我应该怎么做才能做到这一点?

无论如何,该解决方案会有所帮助! JQueryAjax等。

最佳答案

您需要给输入元素适当的名称。

更改

<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


另外,关闭标签。

关于javascript - 提交按钮在包含带有foreach的表格的表单中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33146992/

10-13 09:06