gpt4 book ai didi

webforms - 为什么 WHATWG 不允许 HTML 4 和 HTML5 中的嵌套表单?

转载 作者:搜寻专家 更新时间:2023-10-31 21:52:51 26 4
gpt4 key购买 nike

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

编辑:问题最初描述于 How do you overcome the HTML form nesting limitation?

简而言之,作者说:你正在制作一个博客应用程序,你有一个表单,其中包含一些用于创建新帖子的字段和一个带有“操作”的工具栏,例如 “保存”“删除”、“取消”...唯一的问题是按下“删除”将提交服务器上的所有表单字段,即使此操作唯一需要的是带有 post-id 的隐藏输入。

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

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

编辑:我发现有趣的注释 https://web.archive.org/web/20170420110433/http://anderwald.info/internet/nesting-form-tags-in-xhtml/ - (X)HTML 不允许嵌套表单,如“form > form”,但允许“form > fieldset > form”,W3 验证器说它是有效的,但浏览器存在此类嵌套的错误。

最佳答案

就 HTML5(规范草案)而言,情况并不像 David Dorward 所建议的那样明确。事实是,如果不在标记中添加分隔表单的新方法,就无法以向后兼容的方式在 text/html 序列化中指定嵌套表单。

另一方面,在 application/xhtml+xml 序列化中,不仅可以标记嵌套表单,而且 HTML5 会竭尽全力 (http://dev.w3.org/html5/spec/forms.html#form-owner) 来指定在这种情况下应该发生什么。此外,对最新版本的 FireFox、Opera、Chrome 和 Safari 以及 IE9 平台预览的快速测试表明它们都执行 HTML5 指定的操作。

因此,它可能在 HTML5 内容模型中有效,但事实并非如此。什么决定什么是有效的,什么不是,主要取决于用例。到目前为止,还没有人向 WHATWG 或 W3C HTML WG 提供足够引人注目的用例,使嵌套表单成为有效 HTML5 的一部分。

关于webforms - 为什么 WHATWG 不允许 HTML 4 和 HTML5 中的嵌套表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2827916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com