我有另一种形式的表格:
<form id="a">
<form id="b">
<input type="submit">
单击提交按钮时,似乎提交了外部表单。
有没有办法确定提交哪种表单?
答案 0 :(得分:5)
答案 1 :(得分:4)
HTML DTD专门禁止表单元素包含另一个表单元素:
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
答案 2 :(得分:3)
像其他人所说的那样......不允许使用嵌套表格。
然而,这并不意味着某些浏览器不会对此做些什么。在您提供的示例中,浏览器似乎忽略了第二个<form>
标记,其方式与未知标记(即<notAValidTag>
)的忽略方式类似。由于JavaScript也不允许嵌入式表单集合,因此确保提交FormB信息的最佳方法是使其不再是嵌套表单。这会将您的标记和UI分解为更加截然不同的部分,从UX的角度来看也可能是有益的。
答案 3 :(得分:1)
我认为html标准不允许这样做。
答案 4 :(得分:0)
在HTML 5中,按照目前的草案,是的。每个输入元素可以具有它所属的形式的“形式”属性信令。但是,在HTML中嵌套表单仍然无效,HTML解析器不允许这种情况发生。
但是,可以通过JavaScript构建嵌套表单。在没有表单属性的情况下,用于确定输入所属表单的规则非常复杂,但在http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#association-of-controls-and-forms
中完整地描述了它们。