直接在<table> </table>中使用<input />标签

时间:2010-01-26 13:38:50

标签: php html xhtml

我正在生成一个包含多个可编辑行的表。像每个员工一样,这样你就可以同时更改多个名字。我内部有一些隐藏的字段,也需要与表行循环。

问题是在表标记内输入是无效的xhtml。而且我不想将它们包装在<tr><td>标签内,因为这显然会为不需要的隐藏字段创建一个新列。

有人知道我是否可以将它们包含在其他内容中以使其有效xhtml?

5 个答案:

答案 0 :(得分:7)

您可以将隐藏的<input>放入现有单元格中。

答案 1 :(得分:4)

它们被隐藏,您可以将它们放在任何可见输入旁边并且没问题。

<tr>
  <td><input type="text" name="fname" /></td>
  <td><input type="text" name="lname" />
      <input type="hidden" name="cid" value="11" />
      <input type="hidden" name="uid" value="12" />
  </td>
</tr>

答案 2 :(得分:0)

将隐藏的输入标记放在最后一列中有什么问题?

...
<td>
  <input type="text" name="yourname" />
  <input type="hidden" name="thisrowuniqueid" value="123" />
</td>
...

答案 3 :(得分:0)

我不是100%确定这是否可行或验证,但您可以尝试将包含的行和列设置为隐藏的可见性。

tr.hidden, td.hidden {
    visibility: hidden;
}

值得一试。

答案 4 :(得分:0)

这是完全有效的XHTML严格代码。可以在表标签中添加输入字段

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Dicabrio.com</title> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 

</head> 
<body>
<form id="test" method="post" action="test.php">
<fieldset>
<legend>test</legend>
<table>
    <tr><td>
    <label>test</label><input type="text" name="test" value="" />
</td></tr>
</table>
</fieldset>
</form>
</body> 
</html>