FORM标签之外的表单元素是语义html5吗?

Ano*_*non 57 forms html5

如果我有一个基于用户选择过滤表的SELECT标签,那么SELECT标签是否需要在FORM标签中(有效的HTML5),如果JS被禁用,结果功能将不起作用(即我们将显示整个表或"更多"链接,而不是在选择表单操作/提交选项时执行服务器端过滤器(我们可能在JS中编写select,因此如果JS禁用,它将从标记中消失.

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

我知道HTML5几乎可以提供任何内容,但我无法在W3上找到明确的答案,所以我想我会理解你的想法.希望有道理.干杯.

rob*_*rtc 77

所有表单控件都可以在任何需要表达内容的地方使用,这意味着它们几乎可以出现在文档正文的任何​​位置.如果您不需要将它们提交回服务器,那么就不需要将它们与表单相关联,但是我注意到在某些浏览器中您无法利用表单验证功能,除非元素可以提交.

HTML5的一个新功能是表单控件不再需要是form元素的直接子元素才能使用该表单提交,该form属性允许您指定id元素应该提交的表单.

  • 虽然robertc提供了权威链接(以及最佳答案),但这里是"Web作者版"中的HTML5规范(更具可读性):http://dev.w3.org/html5/spec-author-view/内容models.html#措辞,内容0 (3认同)

Ada*_*sey 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>
Run Code Online (Sandbox Code Playgroud)

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