【问题标题】:Are form elements outside of a FORM tag semantic html5?表单标签语义html5之外的表单元素吗?
【发布时间】:2011-07-20 03:03:39
【问题描述】:

如果我有一个 SELECT 标记,它将根据用户选择过滤表,如果禁用 JS(即我们将显示整个表格或“更多”链接,而不是对表单操作/提交选项的选择进行服务器端过滤(我们可以在 JS 中编写选择,这样如果 JS 禁用,它就会从标记中消失。

或者是否所有表单元素都需要在一个表单标签中,而不管使用情况如何(因此是一个空的“动作”属性值)。

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

【问题讨论】:

标签: forms html


【解决方案1】:

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

HTML5 的一个新特性是表单控件不再需要是 form 元素的直接子元素才能与该表单一起提交,form attribute 允许您指定表单的 id该元素应与提交。

【讨论】:

【解决方案2】:

在 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 规范,但是验证器在这类问题上通常是正确的。

【讨论】:

    【解决方案3】:

    The HTML5 spec 特别允许&lt;input&gt;s(和其他与表单相关的元素)没有&lt;form&gt;

    与表单相关的元素可以与&lt;form&gt; 元素有关系,称为元素的表单所有者。如果与表单相关的元素不与&lt;form&gt; 元素关联,则称其表单所有者为空。

    因此,您可以随心所欲地使用它们!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多