【发布时间】:2010-05-13 15:15:45
【问题描述】:
为什么 WHATWG 在 HTML 4 和 HTML5 中不允许嵌套表单?
编辑: 问题最初描述于How do you overcome the HTML form nesting limitation?
简而言之,作者说: 您正在制作一个博客应用程序,并且您有一个包含一些用于创建新帖子的字段的表单和一个带有“操作”的工具栏,例如 “保存”、“删除”、“取消”... 唯一的问题是按下“删除”,将提交服务器上的所有表单字段,即使此操作唯一需要的是带有 post-id 的隐藏输入。
所以,这是一个关于表单中的多个按钮提交不同的输入字段集(就像几个表单可以允许的那样)和的优雅解决方案(不使用 JavaScript)的问题strong> 从用户角度将 UI 排列成单个实体(“表单”)。
该讨论的评论:几乎不可能将元素的屏幕位置与其在文档中的位置完全分开。
编辑:我发现了有趣的注释https://web.archive.org/web/20170420110433/http://anderwald.info/internet/nesting-form-tags-in-xhtml/ - (X)HTML 不允许嵌套表单,如“form > form”,但允许“form > fieldset > form”,W3 验证器说它是有效,但浏览器存在这种嵌套的错误。
【问题讨论】:
-
你不能责怪 HTML4 的 WHATWG,它甚至在编写 HTML4 时都不存在。
-
在您的博客应用示例中,我个人会创建两个