以下是有效的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”内的字段。
如果不可能,对于这种情况有什么可行的变通办法?
当前回答
通过将HTML代码输入W3 Validator,您可以非常容易地回答自己的问题。(它有一个文本输入域,你甚至不需要把你的代码放在服务器上…)
(不,它不会生效。)
其他回答
不,HTML规范规定任何FORM元素都不应该包含另一个FORM元素。
HTML 4。x & HTML5不允许嵌套表单,但HTML5允许使用“form”属性(“form owner”)。
至于HTML 4。X你可以:
使用一个只有隐藏字段和JavaScript的额外表单来设置其输入并提交表单。 使用CSS来排列几个HTML表单,使其看起来像一个单一的实体-但这可能很复杂。
嵌套表单标签的非javascript解决方案:
因为你考虑到了
所有字段减去“b”以内的字段。
当提交"a"时,以下将工作,使用常规的web表单而没有花哨的JavaScript技巧:
步骤1。把每个表单放在自己的网页上。
步骤2。在您希望此子表单出现的任何位置插入iframe。
步骤3。利润。
我尝试使用一个代码游乐场网站来展示演示,但许多网站禁止在iframe中嵌入网站,即使是在他们自己的域内。
正如其他人所说,它不是有效的HTML。
听起来你这样做是为了在视觉上定位彼此之间的形式。如果是这种情况,只需做两个单独的表单,并使用CSS来定位它们。
一种可能是在外部形式中有一个iframe。iframe包含内部表单。确保在iframe的head标记中使用<base target="_parent" />标记,使表单表现为主页的一部分。