html – 表单标签不会在表格中包含元素

前端之家收集整理的这篇文章主要介绍了html – 表单标签不会在表格中包含元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到一个好奇的问题;我在< tr>中有一个表单,但是该表单拒绝在其中包装任何标签.我已经做了一个快速的JSFiddle here玩弄. Firebug报告表单没有包装任何东西:

< form>元素是灰色的,不包裹任何东西.此测试的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. I read here认为这是无效的,所以我的问题是可以创建一个表单,其中包含两个或更多的tr和任意数量的其他元素在表中?该表具有与表单不相关联的其他行,因此放置< form>整个表都是无益的,虽然看到其他行不会有任何输入的表单(POST请求),我想一个表可以放在整个表.

哪个是更好的解决方案整个表格包装,还是一个工作修复,只需将所需的行包围在表单标签中?我知道我可以把桌子放在一个td>窗体,但是列宽在嵌套表中将不一样,这就是为什么我来问这个问题.

解决方法

您不能中断< table>除了< thead>,< tfoot>,< tbody>,< tr>,< th>或< td>之外的任何标签的结构.您需要将两个< td>或您的整个< table>需要放在< form>标签.
<table>
    <tr>
        <td>
            <form>
            ...form data...
            </form>
        </td>
    </tr>
</table>

..要么..

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

猜你在找的HTML相关文章