是否可以在html表中插入表单?

时间:2011-05-08 21:12:46

标签: html forms

一个表中有多个表单,这些表单的行长不同,但这似乎不起作用:

<table>
    <form>
        <tr>
            <td>
            </td>
            <td>
           </td>
        </tr>
    </form>
    <form>
        <tr>
            <td>
            </td>
            <td>
           </td>
        </tr>
    </form>
</table>

我相信一张桌子有一个明确的结构,这不能与其他结构交织,但是有一个整洁的工作吗?

感谢。

6 个答案:

答案 0 :(得分:5)

没有。根据这份文件:http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1 表格可能只包含以下内容:

TABLE --
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>

但你可以使用这样的东西

<div class=table>
  <form>
    <div class=cell>...</div>   
    <div class=cell>...</div>   
  </form>
</div>

有样式:

div.table { display:table; }
div.table > form { display:table-row; }
div.table > form > div.cell { display:table-cell; }

答案 1 :(得分:2)

不,你不能这样做。我想你想用两种形式在表格中对齐,对吧?

如果您允许在页面上使用javascript,则可以在<td>元素中添加不同的文本框等,并将onchange事件处理程序附加到这些框以填充相应的(隐藏)字段以你的实际形式。

答案 2 :(得分:1)

这将是所有HTML中的问题......包括XHTML和HTML5。

XHTML table dtd ..

<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

答案 3 :(得分:0)

不在<tr>个标签之间。它们应该在<table>之外或<td>之内工作。

答案 4 :(得分:0)

如果您希望将它们放在多个行中,则无需在单个表中使用两个表单。表越大,浏览器加载和显示它所需的时间就越长。相反,为每个表单提供自己的表,并将表标记放在表单标记中,如下所示:

<form method="GET" action="foo.sh">
  <table>
  </table>
</form>

答案 5 :(得分:0)

是的! HTML5没问题。 现在,表格标签只是表格样式规则的简写。