2

我想在列标题上方创建一个带有搜索文本框的表格

<table>
   <thead>
      <tr><td><input type="text" /></td><td><input type="text" /></td></tr>
      <tr><td>Mother</td><td>Father</td></tr>
   </thead>
   <tbody id="search-results">
      <!-- to be populated by AJAX response -->
   </tbody>
</table>

是否允许这样的表单元素?

<form>
  <thead>...</thead>
</form>

或者

<thead>
  <form>...</form>
</thead>

或哪种方式?

此外,可以<input type="hidden" />绝对放置在表单标签之间的任何位置吗?

4

3 回答 3

3

在表格内,a<form>只能是内容在表格内的位置,即在 a 、<td><thead>或内。或者整个表格可以在 内,但不是您显示它的任何一种方式。 <tfoot><th><caption><form>

如果您不使用内置的表单提交功能,您还可以使用<input>标签或其他表单元素等表单元素,<td>而无需将它们包含在 a中。<form>

于 2013-01-29T06:39:42.383 回答
3

您应该将整个<table>元素包装在 中,除了 inside和元素之外<form>,您不能将任何与表格无关的内容放在里面。因此,如果您不想将整个表格放在一个单元格中,您应该将整个表格包裹在.<table><th><td><caption><td><form>

<input type="hidden">标签就像任何其他输入标签一样 - 它们必须包含在<td>其他内容标签中。

于 2013-01-29T06:40:37.427 回答
0

这是html5的规范,你会发现这里只允许嵌入表格的表格

这是使用 thead 的正确形式:tad 教程

如果链接被丢弃,则从该链接复制以下内容以保留答案:

如果你愿意,你可以像这样离开你的表格,但如果你喜欢高度语义结构化的内容,我很高兴向你介绍这个元素。该元素构成表格中的标题,这告诉浏览器例如每列包含什么。该元素构造了所有内容,以便浏览器知道表格的实际内容是什么。使用与之前相同的示例,the 和元素将像这样使用:

<table border="1" width="100%">
        <thead>
                <tr>
                        <td>Row 1, cell 1</td>
                        <td>Row 1, cell 2</td>
                        <td>Row 2, cell 3</td>
                </tr>
        </thead>
        <tbody>
                <tr>
                        <td>Row 2, cell 1</td>
                        <td>Row 2, cell 2</td>
                        <td>Row 2, cell 3</td>
                </tr>
                <tr>
                        <td>Row 3, cell 1</td>
                        <td>Row 3, cell 2</td>
                        <td>Row 3, cell 3</td>
                </tr>
                <tr>
                        <td>Row 4, cell 1</td>
                        <td>Row 4, cell 2</td>
                        <td>Row 4, cell 3</td>
                </tr>
        </tbody>
</table>

您也可以在表单标签的任何地方使用隐藏输入。

于 2013-01-29T06:39:22.873 回答