将表单添加到表行

时间:2011-07-15 13:04:37

标签: html forms w3c-validation tablerow

将表单添加到表行是一种有效的方法(如果有的话)?

我有以下情况:

<table>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
</table>

如何添加表单元素并且仍然具有有效的HTML?

<table>
  <form>
    <tr>
      <td><input type="text" name="q"></td>
      <td><input type="text" name="a"></td>
      <td><input type="submit" name="submit" value="Submit"></td>
    </tr>
  </form>
</table>

无效(至少我认为是)

3 个答案:

答案 0 :(得分:4)

将表格包裹在表单元素中:

<form action="/" name="form1">
  <table>...</table>
</form>

但更好的是:如果可能,建立没有表格的表格。

答案 1 :(得分:0)

表和表单是HTML中的单独概念。人们有时会互相混淆。概念混淆通常伴随着混淆的标记。另一方面,表格和表格在某种意义上可以“混合”。具体来说,您可以将表格放在表单中,反之亦然,这样做通常很有用。但你需要了解自己在做什么。

表和表单可以嵌套。但是如果将表单放入表中,则每个表单必须完全包含在单个表格单元格中(实际中是一个TD元素)。因此,表格各自完全独立。

AFAIK使用表格来格式化表格是有效的。

答案 2 :(得分:-1)

    <form action="/" name="form1">
<table>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
</table>

    </form>

    <table>
    <tr>
        <td colspan="2">  <form action="/" name="form1"></td>
    </tr>
  <tr>
    <td><input type="text" name="q"></td>
    <td><input type="text" name="a"></td>
    <td><input type="submit" name="submit" value="Submit"></td>
  </tr>
<tr><td colspan="2">  </form></td></tr>

......

</table>