是否有充分的理由在标签中不应存在表单标签?

时间:2012-12-12 23:15:46

标签: html html5

是否有充分的理由在head标签中不应存在表单标签?

我在看这个http://www.w3.org/html/wg/drafts/html/master/forms.html#the-form-element 但我找不到与这个问题有关的任何内容。

这对我有用:

<head runat="server">
<title></title>
<form id="form1" runat="server">
   <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
</form>
    <link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.css" />

    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

</head>

提前致谢。

2 个答案:

答案 0 :(得分:3)

如果你在浏览器以外的浏览器中查看http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2014(这里有一个非常奇怪的错误),你会看到你的表单元素实际上不在head元素中。当解析器看到<form>标记时,它会自动关闭<head>元素,创建<body>元素并将<form>元素和所有后续元素放在<body>内} element。

由于这种行为对于向后兼容现有网页是必要的,因此无法更改规范以允许<form>个元素,即使有一个很好的用例也是如此。

答案 1 :(得分:1)

用于显示的HTML属于<body>标记。

有些浏览器仍然会显示一些放在<head>标记中的标记,但这不是它所属的标记,如果你把它放在那里就要求互操作性问题。

在您引用的规范链接中,它表示<form>标记位于预期flow content的位置。如果单击flow content,则它指的是文档正文中使用的元素。正文是<body>标记中的内容。