1个表格中的2个HTML表单

时间:2013-02-28 19:28:01

标签: html forms html-table

我有一个通过循环结果集并创建行动态生成的表。对于每一行,我需要包含2个复选框。每行上的复选框A需要与表单A对应,复选框B表示为B.

我知道这是无效的,但下面的伪代码基本上就是我想要的。我知道在HTML5中我可以指定输入元素属于哪种形式,但我的用户将主要使用IE8,据我所知,IE8不支持此功能。

<form name="formA">
<form name="formB">
<table>
 <tr>
  <th>
  <th>
  <th>
 </tr>

LOOP

 <tr>
  <td><input type="checkbox" name="chkA" value="1"></td>
  <td>Something</td>
  <td><input type="checkbox" name="chkB" value="1"></td>
 </tr>

END LOOP

</table>

<input type="submit" /> //formA
<input type="submit" /> //formB
</form> //formA
</form> //formB

关于如何实现这一目标的任何想法?我想一种方法是使用单个表单并根据单击的提交按钮更改操作,但我想在我这样做之前看看是否有其他人有任何想法。

谢谢, 汤姆

1 个答案:

答案 0 :(得分:0)

可能最好的方法是在一个表单中完成所有操作,并根据所选的选项稍后采取不同的行动。

例如

<form action="doStuff.php" method="post">
  <table>
    <tr>
      <th></th>
      <th></th>
    </tr>

<!-- LOOP -->
    <tr>
      <td><input type="checkbox" name="chkA" value="1"></td>
      <td><input type="checkbox" name="chkB" value="1"></td>
    </tr>

<!-- END LOOP -->
  </table>

  <div>
    <input type="submit" name="submit" />
  </div>
</form>

<强> doStuff.php

if (isset( $_POST["chkA"] ) ){

  // Checkbox A is checked.

}

if (isset( $_POST["chkB"] ) ){

  // Checkbox B is checked.

}