代码之家  ›  专栏  ›  技术社区  ›  Nishi

为什么WHATWG不允许在html4和HTML5中使用嵌套表单?

  •  4
  • Nishi  · 技术社区  · 16 年前

    为什么WHATWG不允许html4和HTML5中的嵌套表单?

    编辑 How do you overcome the html form nesting limitation?

    简而言之,作者说: 你正在制作一个博客应用程序,你有一个表单,其中有一些用于创建新文章的字段,还有一个工具栏,上面有“actions”,比如 “保存” “删除” ,“取消”。。。

    因此,这是一个关于表单中几个按钮提交的优雅解决方案(没有JavaScript)的问题 不同的输入字段集 和 从用户角度将UI排列成单个实体(“表单”)。

    讨论中的评论 :几乎不可能将元素的屏幕位置与其在文档中的位置完全分开。

    编辑 :我发现了一张有趣的便条 http://anderwald.info/internet/nesting-form-tags-in-xhtml/ -HTML不允许嵌套表单,比如“form>“形式”,但允许“形式”>字段集>W3验证程序说它是有效的,但是浏览器有这样的嵌套错误。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Alohci    12 年前

    就HTML5(规范草案)而言,情况并不像DavidDorward所说的那么清楚。事实上,如果不在标记中添加一种新的窗体定界方法,就无法在text/html序列化中以向后兼容的方式指定嵌套窗体。

    另一方面,在application/xhtml+xml序列化中,不仅可以标记嵌套的表单,而且HTML5也有一定的局限性( http://dev.w3.org/html5/spec/forms.html#form-owner )指定在这种情况下应该发生什么。此外,对最新版本的FireFox、Opera、Chrome和Safari以及IE9平台预览版进行快速测试,结果显示它们都能实现HTML5所指定的功能。

    因此,它在HTML5内容模型中可能是有效的,但事实并非如此。什么决定什么是有效的,什么是无效的,很大程度上取决于用例。到目前为止,还没有人向WHATWG或w3chtmlwg提供一个足够有说服力的用例,让嵌套表单成为有效HTML5的一部分。

        2
  •  -3
  •   Quentin    16 年前

    嵌套表单是不允许的,因为它们没有意义,而且如果您指定了一个模糊合理的东西,它将无法与当前浏览器向后兼容。