2011-03-22 119 views
54

如果我有一个选择标记,将过滤基于用户选择的表,不选择标记需要在FORM标记(是有效的HTML5),如果得到的功能将无法正常工作,如果JS禁用(即我们“我将向整个表或一个‘更多’链接,而不是在特定形式的行动做一个服务器端过滤器/提交选项(我们可以写在JS选择,因此从标记消失,如果JS禁用。表单标签语义html5以外的表单元素?

或者所有表单元素都需要在表单标签中,而不管用法如何(因此为空'action'属性值)。

我知道HTML5允许几乎任何东西,我只是无法在W3上找到明确的答案,所以我想我会得到你的想法。希望这是有道理的。 干杯。

+0

语义是如何体现这一点的? https://en.wikipedia.org/wiki/Semantics您的意思是“有效”或“格式良好”[html5],也许? – amn 2016-05-21 15:47:01

回答

17

这样看来,在HTML5形式元件可以是外部的<form>标签的,并且仍然是有效的;

<!DOCTYPE html> 
<html> 
<head> 
<title>Just making this valid</title> 
</head> 
<body> 

<select> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

</body> 

</html> 

上述代码验证成功(减去明显的字符编码错误)。 我还没有阅读整个HTML5规范,但验证器通常在这些问题上是正确的。

+0

好的,谢谢! – Anon 2011-03-22 15:55:24

70

所有表单控件可以在任何地方使用,其中phrasing content的预期,这意味着它们可以在文档的身体任何地方出现。如果您不需要将它们提交回服务器,则无需将它们与表单关联,但是我注意到,在某些浏览器中,您无法利用form validation features,除非这些元素可能潜在被提交。

一个特点新HTML5的是,表单控件不再需要一个form元素的直接子为了与形式提交,该form attribute允许你指定的元素应该被提交表单的id用。

+3

虽然robertc提供的权威链接(和最好的答案),这里是在HTML5规范“版的网络作家”(有点更具可读性):http://dev.w3.org/html5/spec-author-view /content-models.html#phrasing-content-0 – 2011-06-13 04:17:31