Html 表格tag won';t将元素括在表中

Html 表格tag won';t将元素括在表中,html,forms,html-table,semantics,Html,Forms,Html Table,Semantics,我遇到了一个奇怪的问题;我在中有一个表单,但是表单拒绝在其中包装任何标记。我很快就做了一个可以玩的JSFIDLE。Firebug报告表单没有包装任何内容: 元素显示为灰色,没有包装任何内容。此测试的HTML如下所示 <table> <form> <tr> <td>Input</td> <td>Another input</td>

我遇到了一个奇怪的问题;我在
中有一个表单,但是表单拒绝在其中包装任何标记。我很快就做了一个可以玩的JSFIDLE。Firebug报告表单没有包装任何内容:

元素显示为灰色,没有包装任何内容。此测试的HTML如下所示

<table>
    <form>
        <tr>
            <td>Input</td>
            <td>Another input</td>
        </tr>
        <tr>
            <td colspan="4"><span>Other stuff</span></td>
        </tr>
    </form>

    <tr>
        <td>
            Rows not affected by the form
        </td>
    </tr>
    <tr>
        <td>
            Rows not affected by the form
        </td>
    </tr>
</table>

输入
另一个输入
其他东西
不受窗体影响的行
不受窗体影响的行
可以看出,
表单
在书面标记中包含两个
tr
s。这是无效的,所以我的问题是我可以创建一个表格,在表格中包含两个或多个
tr
s和任意数量的其他元素吗?
表格中有其他与表格无关的行,因此在整个表格中放置
是没有帮助的,虽然其他行没有表单的任何输入(POST请求),但我认为可以在整个表中放置一个
form


哪一个是更好的解决方案;整表换行,还是只将所需行封装在
表单中的工作修复程序
标记?我知道我可以在
td>表单中放置
,但是嵌套表中的列宽不一样,这就是我为什么要问这个问题。

基本上只能在td中放置一个表单,因此可以将这两行放在td中创建的新表中

。。。。。。。。。。。。
在这种情况下,
标记只能放置在
元素内部或
外部

如果我是你,我会把
放在整张桌子上,因为你说里面不会有任何其他形式


或者,您可以将
完全替换为使用
显示:表格的
s
显示:表格单元格

除了
之外,您不能使用任何标记中断
结构。表单标记需要封装在两个
之间,或者整个
需要放置在
标记中

<table>
    <tr>
        <td>
            <form>
            ...form data...
            </form>
        </td>
    </tr>
</table>

…表单数据。。。
…或

<form>
    <table>
    ...
    </table>
</form>

...

谢谢鲁道夫。我编辑了我的问题,以反映我想要什么;使用嵌套表是不可能的,因为我需要保留列宽。如果其他行没有属于其他表单的任何输入字段,那么只需将整个表放在表单中即可。我认为这是普遍的共识,即将
置于
之外,这就是我将要做的。这有点明显,但我想知道是否有一个更具语义的选项,只在
标记中包装表单。我看到
结构的唯一问题是
表单元格
没有得到很好的支持。我认为普遍的共识是,将
放在表外是最好的方法。
的另一个明显问题是,如果您通过ajax调用动态替换表中的一行,则列不会正确对齐,或者至少我无法使其正常工作;我很想听到一个有想法的人!谢谢Micheal。外面是:-)
<form>
    <table>
    ...
    </table>
</form>