以下是有效的html:
<form action="a">
<input.../>
<form action="b">
<input.../>
<input.../>
<input.../>
</form>
<input.../>
</form>
当你提交b时,你只能得到内部表单中的字段。当你提交“a”时,你会得到所有字段减去“b”内的字段。
如果不可能,对于这种情况有什么可行的变通办法?
以下是有效的html:
<form action="a">
<input.../>
<form action="b">
<input.../>
<input.../>
<input.../>
</form>
<input.../>
</form>
当你提交b时,你只能得到内部表单中的字段。当你提交“a”时,你会得到所有字段减去“b”内的字段。
如果不可能,对于这种情况有什么可行的变通办法?
当前回答
一种可能是在外部形式中有一个iframe。iframe包含内部表单。确保在iframe的head标记中使用<base target="_parent" />标记,使表单表现为主页的一部分。
其他回答
不, 看到w3c
一种可能是在外部形式中有一个iframe。iframe包含内部表单。确保在iframe的head标记中使用<base target="_parent" />标记,使表单表现为主页的一部分。
不,HTML规范规定任何FORM元素都不应该包含另一个FORM元素。
如果你需要你的表单向1:M关系数据库提交/提交数据,我建议在表a上创建一个“插入后”DB触发器,它将为表B插入必要的数据。
答:它不是有效的HTML或XHTML
在官方W3C XHTML规范的B节中。“元素禁令”规定:
"表单不能包含其他表单元素。"
http://www.w3.org/TR/xhtml1/#prohibitions
对于旧的HTML 3.2规范, 关于FORMS元素的部分声明:
"每一份表格都必须用 表单元素。可以有几个 表单放在单个文档中,但是 FORM元素不能嵌套。
B.解决方案
有一些使用JavaScript而不需要嵌套表单标记的变通方法。
“如何创建嵌套表单。”(尽管title不是嵌套的表单标签,而是JavaScript的解决方案)。
这是StackOverflow问题的答案
注意:尽管可以通过脚本操纵DOM来欺骗W3C验证器来传递页面,但它仍然不是合法的HTML。使用这种方法的问题是,现在无法保证跨浏览器的代码行为。(因为不是标准)