Являются ли вложенные формы действительными в HTML5?
Вложенные формы допустимы?
Я не могу найти что-либо в документе HTML5, в котором говорится о вложенных формах. Я уверен, что он указан на какой-то странице где-то (возможно, в журнале изменений), но если нет, я должен предположить, что упоминание не будет таким же приемлемым?
Кроме того, документ HTML4 не упоминает об этом. Возможно, это было разрешено все время, и я придерживался старых стандартов.
Предыдущее задание
XHTML1.0
Форма не должна содержать другие элементы формы.
HTML 3.0
В одном документе может быть несколько форм, но элемент FORM не может быть вложен.
Ответы
Ответ 1
В документе HTML5 упоминается в разделе, который вы указали выше:
Модель контента
Содержимое потока, но без потомков элемента формы.
"Модель контента" означает "что может содержать этот элемент". Таким образом, нет, вложенные формы не допускаются.
Ответ 2
Если они будут поддерживаться, то что-то вроде этого будет работать:
$('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());
});
<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>