我无法在HTML5 doc中找到有关嵌套表单的任何内容。我确定它列在某个页面上某个地方(可能是更改日志),但如果没有,我应该假设没有提及是否可以接受?
此外,HTML4 doc并未提及。 也许它一直被允许,我坚持旧标准。</ em>
表单不得包含其他表单元素。
单个文档中可以有多个表单,但FORM元素不能嵌套。
答案 0 :(得分:32)
答案 1 :(得分:4)
如果他们得到支持,那么这样的事情就可以了:
$('button').on('click', function(e) {
var form = $(this).parents('form');
e.preventDefault();
if(!form) {
form = $(this);
}
$('#output').val('from '+form.attr('id')+'\n'+form.serialize());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id='parent'>
<form id='childA'>
<input type='text' placeholder='value of A'/>
<button>Send part A</button>
</form>
<form id='childB'>
<input type='text' placeholder='value of B'/>
<button>Send part B</button>
</form>
<button>Send All</button>
</form>
<br/>
<textarea id='output'></textarea>
&#13;
但是,由于它没有得到官方支持,您可以看一下浏览器是否正在阻止它(关闭它假设的是开放式form
元素)。一种替代方法是使用单个form
但将data
属性添加到各个输入,以便JavaScript可以收集所需的子字段并从中手动构建POST
。