是否有充分的理由在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>
提前致谢。
答案 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>
标记中的内容。