function reverseString(string) {
var reversedString = "";
var stringLength = string.length - 1;
for (var i = stringLength; i >= 0; i--) {
reversedString += string[i];
}
return reversedString;
}
Нет, вложенные формы запрещены.
Это выражается в DTD HTML 4.01 как:
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
- http: // www. w3.org/TR/html4/interact/forms.html#h-17.3
Это означает . FORM имеет обязательный начальный тег, обязательный конечный тег и может содержать что-либо в% блок или SCRIPT, за исключением других FORM.
XML DTD не так выразительны, как SGML DTD, поэтому в XHTML это правило указывается только в человекообразном тексте спецификации:
форма не должна содержать других элементов формы.
blockquote>- http://www.w3.org/TR/xhtml1/#prohibitions
HTML 5 не является SGML-приложением и не имеет официального машиносчитываемого описания языка. Он также выражает это правило в тексте:
Модель контента:
Содержимое потока, но без потомков элемента формы.
blockquote>
Вложенные формы не допускаются в спецификации (я не уверен, что было бы при попытке, я не пробовал).
В есть интересное обсуждение темы ] предыдущий вопрос , однако.
Непосредственно в Формах не допускаются. Все ваши javascript не будут работать, и предполагаемого поведения там не будет.
Однако вы можете попробовать следующее:
<form name ="1st form">
<...>
<div> <form id="dummy"></form></div>
<...>
<form name = "2nd form">
</form>
<...>
</form>
Вам нужно будет создать фиктивную форму между двумя формами, которые вы намеревались использовать. 1 примечание о предостережении, 1-я форма и фиктивная форма должны иметь некоторые метки между ними. иначе это не сработает.
Нет, используйте <fieldset>
, если хотите разбить свои формы. Некоторые браузеры могут его проанализировать (не проверял), но в соответствии со стандартом w3 не разрешается использовать формы в других формах.
Прекрасно работает с XHTML 1.0 Strict.
Я даже проверил проверку, вставив ниже http://validator.w3.org/check .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Markup Test</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
</head>
<body>
<h1>Markup Test</h1>
<p>
This doc contains a form with a nested form and validates at
<a title="Validate using W3C Markup Validation Service" href="http://validator.w3.org/check?uri=referer">
http://validator.w3.org/
</a>
</p>
<form action="#">
<div>
<form action="#">
</form>
</div>
</form>
</body>
</html>
HOWEVER Quentin ниже верно: я протестировал и закрывающие теги вложенных форм и игнорируются. Элементы ввода формы, которые появляются до, внутри и после тегов дочерней формы, рассматриваются как члены родительской формы, включая кнопки отправки. Ссылки JavaScript на this.form
из дочерней формы ссылаются на родительскую форму. Если вы даете дочернему элементу идентификатор и извлекаете его через getElementById
, вы получаете элемент, но .submit()
ничего не делает. Его в основном одна форма (родительская) с метками мусора в ней.
Вы не можете их вложить, но вы можете группировать элементы ... для этого есть специальный механизм, элемент <fieldset>
, используемый для группировки элементов управления / меток ... и в HTML5 связывать его с конкретными формами, отключать содержимое и т. д.