我在表格中有一个表格,在另一个表格内。我的问题是嵌入的表单标签没有出现 - 输入和iframe出现,但表单标签没有出现。表格和外部表格出现。怎么了?
<form>
<table id=\"mytableid\">
<tr class=\"form_row\">
<td align=\"right\">
Upload Photo:
</td>
<td align=\"left\">
<form action=\"/myuploadpath\" method=\"post\" enctype=\"multipart/form-data\" target=\"upload_target\" id=\"photo_url_upload_form\" name=\"venue_photo_url_upload_form\">
<input type=\"file\" name=\"photo_url\" id=\"photo_url\" size=\"40\" />
<iframe id=\"upload_target\" name=\"upload_target\" src=\"#\" style=\"width:0;height:0;border:0px solid #fff;\"></iframe>
</form>
</td>
</tr>
</table>
</form>
答案 0 :(得分:5)
将表单放在另一个表单中是无效的HTML。发生这种情况时,每个浏览器都会对标记执行不同的操作。有些人会忽略部分,有些会破坏等等。无论哪种方式,你都不应该这样做。
修改强>
如果您使用表格进行布局,那么从技术上讲,您不应该这样做。它们仅用于表格数据。您应该使用div / span和CSS在您的网站上创建您想要的外观。了解这些内容的好地方是W3C Schools。
答案 1 :(得分:1)
我假设您正在使用类似Firebug或Chrome DOM Inspector的内容来查看您的DOM树,而您无法看到内部<form>
。这些工具检查DOM本身,而不是HTML源。也就是说,它们会向您显示浏览器从HTML中解释的内容。在这种情况下的问题是将<form>
嵌套在另一个<form>
中是无效的,因此浏览器忽略了它并继续解析文档的其余部分。
显然,修复是放弃外形,因为它没有做任何事情。如果你有它用于造型目的,也许使用<div>
与类。