我遇到了一个奇怪的问题;我在 <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>
可以看出,form
持有两个tr
s 在书面标记中。 I read here这是无效的,所以我的问题是我可以创建一个包含两个或更多 tr
的表单吗? s 和表中任意数量的其他元素? 表中有其他行与表单无关,因此放置 <form>
围绕整个表格是没有帮助的,尽管看到其他行不会有任何表单输入(POST 请求),我想一个 form
可以放在整张 table 周围。
哪个是更好的解决方案;整表换行,或仅将所需行包含在 form
中的工作修复程序标签?我知道我可以放一个 table
在 td > 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/