html - 表单标签不会包含表格内的元素

标签 html forms html-table semantics

我遇到了一个奇怪的问题;我在 <tr> 中有一个表格,但是表单拒绝在其中包装任何标签。我做了一个快速的 JSFiddle here玩。 Firebug 报告表单没有包装任何东西:

enter image description here

<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>

可以看出,form持有两个tr s 在书面标记中。 I read here这是无效的,所以我的问题是我可以创建一个包含两个或更多 tr 的表单吗? s 和表中任意数量的其他元素? 表中有其他行与表单无关,因此放置 <form>围绕整个表格是没有帮助的,尽管看到其他行不会有任何表单输入(POST 请求),我想一个 form可以放在整张 table 周围。

哪个是更好的解决方案;整表换行,或仅将所需行包含在 form 中的工作修复程序标签?我知道我可以放一个 tabletd > form 里面, 但是嵌套表格中的列宽不会相同,这就是我来问这个问题的原因。

最佳答案

你不能打断 <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 - 表单标签不会包含表格内的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6615903/

相关文章:

html - XML/XSD ID/IDREF 类型值的典型最大长度是多少?

jquery - 文本旋转背景问题 - IE8 和 IE7

javascript - 在 HTML 表格的单元格中插入多行

javascript - 在 html 中,打开一个具有选定背景颜色的新窗口

javascript - 如何在 HTML 的下拉列表中设置条件?

asp.net - ASP 按钮(命令与提交)

php - 如何在 SELECT 子句中使用多个 WHERE 表达式?

c# - 使用鼠标调整表单大小有效,代码不会低于 178x47

html - 我怎样才能说服 IE 遵守我的明确指示,使表格列 X 像素宽?

php - 可调整大小的表格区域 PHP