代码之家  ›  专栏  ›  技术社区  ›  Greg Domjan

没有<form>的<input>格式是否正确?

  •  194
  • Greg Domjan  · 技术社区  · 14 年前

    <input> 而不是在一个 <form> ?


    6 回复  |  直到 11 年前
        1
  •  214
  •   ChristopheD    14 年前

    <input> 没有一个 <form> appears valid ,是(至少对于HTML4.01,请查看17.2.1的末尾):

    用于创建控件的元素 通常出现在窗体内 元素,但也可能出现在外部 它们用于构建用户 接口。这将在 内在事件部分。请注意 窗体外的控件不能为空 成功控制。

        2
  •  81
  •   user664833 Ronen Rabinovici    10 年前

    我和医生核对了以下内容 W3C validator 它证实了这是有效的。

    <!DOCTYPE html>
    <html>
    <head>
      <title>test</title>
    </head>
    <body>
      <input type='text' />
    </body>
    </html>
    
        3
  •  9
  •   David    6 年前

    参考最新规范:

    HTML 5.2 - W3C Recommendation (14 December 2017)

    表单关联元素可以与 <form> 元素,称为元素窗体所有者。如果与窗体关联的元素与 <表格>

        4
  •  7
  •   Community CDub    4 年前

    According to MDN it is possible:

    注意,总是可以在元素之外使用表单小部件,但是如果这样做,那么表单小部件与任何表单都没有关系。这样的小部件可以在表单之外使用,但是您应该为这样的小部件制定一个特别的计划,因为它们自己什么都不做。您必须使用JavaScript自定义它们的行为。

    HTML5在HTML表单元素上引入了表单属性。它应该允许您显式地将元素与表单绑定,即使它没有包含在表单标记中。不幸的是,就目前而言,跨浏览器实现此功能还不足以依赖它。

        5
  •  5
  •   G-Man    5 年前

    我知道这个问题已经很老了,但是,我已经成功地构建了许多没有表单标签的复杂数据输入页面。虽然很多人并不认为它是“标准”的,但是使用没有标准的输入并不是不合适的 <form> . 在我的项目中,我需要完全控制页面的行为,而默认的表单行为会妨碍我。能够执行页面和字段级别的验证(使用JS)并通过Ajax调用“提交”数据等等……事实上,这是我现在比较喜欢的方式。

    还有其他一些情况下,I def不使用带有输入的表单,例如登录页。

    希望这封推荐信能帮上忙。

        6
  •  1
  •   Abdulla Ababakre    4 年前

    HTML5中的语义内容标签,如节、页脚、页眉等),我们必须在表单标签中使用输入。我们必须确保我们使用的代码对所有人都可用,包括视力受损的人,因为它不仅仅是关于网站,而是关于为每个人提供信息访问。

        7
  •  0
  •   heisenberg    14 年前

        8
  •  -13
  •   Mo.    10 年前

    当然,用

    document.getElementById('your_input_id').validity.valid
    

    动态检查字段的有效性。