<input />是否在没有<form>?</form>的情况下形成良好

时间:2010-07-20 21:36:47

标签: html forms input

如果<input>没有<form>,那么它是否有效?

有一个标记页面中某些字段的过程,只是找到一个带有输入字段的页面,其中没有按照我的预期标记。
这花了我一段时间,但得出的结果是获取表单元素然后获取字段的过程是导致这些因素没有形成的原因。

7 个答案:

答案 0 :(得分:183)

<input>没有<form> appears valid,是(至少对于html 4.01,看看接近17.2.1的结尾):

  

用于创建控件的元素   通常出现在FORM中   元素,但也可能出现在外面   一个FORM元素声明的时候   它们用于构建用户   接口。这将在讨论中讨论   关于内在事件的部分。注意   表格外的控件不能   成功的控制。

答案 1 :(得分:62)

我使用W3C validator检查了以下内容,并确认此内容有效。

<!DOCTYPE html>
<html>
<head>
  <title>test</title>
</head>
<body>
  <input type='text' />
</body>
</html>

答案 2 :(得分:2)

参考最新的规范:

HTML 5.2 - W3C Recommendation (14 December 2017)

  

与表单相关的元素可以与<form>元素有关系,该元素称为元素的表单所有者。如果与表单相关的元素未与<form>元素相关联,则其表单所有者被称为null。

答案 3 :(得分:1)

According to MDN it is possible:

  

请注意,始终可以在元素之外使用表单窗口小部件,但如果这样做,则表单窗口小部件与任何表单无关。这样的小部件可以在表单之外使用,但是你应该对这些小部件有一个特殊的计划,因为它们不会自己做任何事情。您必须使用JavaScript自定义其行为。

     

HTML5在HTML表单元素上引入了form属性。它应该允许您使用表单显式绑定元素,即使它未包含在a中。不幸的是,目前,跨浏览器实现此功能尚不足以依赖它。

答案 4 :(得分:1)

我知道这个问题已经很老了,但是,我已经成功构建了许多没有表单标签的复杂数据输入页面。尽管许多人不认为它是“标准”,但使用不带<form>的输入也不是不适当的。我的项目是需要完全控制页面行为和默认表单行为的完全控制实例。能够执行页面和字段级别的验证(使用JS)并通过Ajax调用等“提交”数据……事实上,这是我最近的首选方式。

很多JS是必需的,但它并不那么困难,并且很容易作为可重用的代码来完成。

在其他情况下,我定义我不使用带有输入内容的表单,例如登录页面。

希望此推荐对某人有帮助。

答案 5 :(得分:0)

是的,你可以在没有表格的情况下获得有效的输入。

答案 6 :(得分:-8)

当然,请使用

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

动态检查字段的有效性。