Можно ли иметь форму внутри другой формы?. Есть ли проблемы с этим.
Форма внутри формы, это хорошо?
Ответ 1
Хотя вы можете иметь несколько элементов <form>
на одной странице HTML, вы не можете их вложить.
Ответ 2
Нет. HTML явно запрещает вложенные формы.
Из проект HTML 5:
Модель контента: Содержимое потока, но без потомков элемента формы.
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
(Обратите внимание на раздел - (FORM)).
Ответ 3
Вложенность форм может быть достигнута с помощью нового атрибута формы элемента ввода HTML5. Хотя мы не структурируем формы гнезда, входы оцениваются так, как они находятся в их собственной форме. В моих тестах поддерживаются 3 основных браузера, кроме IE (IE11). Ограничение на вложение формы было большим препятствием для разработки HTML-интерфейса.
Вот пример кода, когда вы нажимаете кнопку "Сохранить", вы должны увидеть "2 3 успеха" (оригинал http://www.impressivewebs.com/html5-form-attribute/):
<form id="saveForm" action="/post/dispatch/save" method="post"></form>
<form id="deleteForm" action="/post/dispatch/delete" method="post"></form>
<div id="toolbar">
<input type="text" name="foo" form="saveForm" />
<input type="hidden" value="some_id" form="deleteForm" />
<input type="text" name="foo2" id="foo2" form="saveForm" value="success" />
<input type="submit" name="save" value="Save" form="saveForm" onclick="alert(document.getElementById('deleteForm').elements.length + ' ' + document.getElementById('saveForm').elements.length + ' ' + document.getElementById('saveForm').elements['foo2'].value);return false;" />
<input type="submit" name="delete" value="Delete" form="deleteForm" />
<a href="/home/index">Cancel</a>
</div>
Ответ 4
Если у вас есть основная форма и вы вынуждены иметь "форму с формой" Вот что вы можете сделать... в моем случае у меня была ссылка в globalHeader, и я хотел выполнить запись, когда она была щелкнул:
Пример формы сообщения с кнопкой ссылки submit:
Вместо формы... оберните свой ввод в div:
<div id="gap_form"><input type="hidden" name="PostVar"/><a id="myLink" href="javascript:Form2.submit()">A Link</a></div>
js файл:
$(document).ready(function () {
(function () {
$('#gap_form').wrap('<form id="Form2" action="http://sitetopostto.com/postpage" method="post" target="_blank"></form>');
})();});
Это будет охватывать все внутри div "gap_form" внутри формы "на лету", и ссылка представит эту форму. У меня есть этот пример, который теперь работает на странице... (В моем примере... Вы могли бы сделать то же самое, перенаправившись на новую страницу и представив форму на этой странице... но мне это нравится лучше)
Ответ 5
Вложенные формы не поддерживаются и не являются частью стандарта w3c (как многие из вас заявили).
Однако HTML5 добавляет поддержку входных данных, которые не должны быть потомками любой формы, но могут быть представлены в нескольких формах - с использованием атрибута "form". Это точно не позволяет вложенные формы, но с помощью этого метода вы можете имитировать вложенные формы.
Значение атрибута "form" должно быть id формы или в случае нескольких форм, отдельный идентификатор формы с пробелом.
Здесь вы можете прочитать
Ответ 6
Да, есть. Это неверно. Это не сработает, потому что это неправильно. Большинство браузеров будут видеть только одну форму.
Ответ 7
Другим обходным решением было бы инициировать модальное окно, содержащее его собственную форму
Ответ 8
Недействительный XHTML должен иметь вложенные формы. Однако вы можете использовать несколько кнопок отправки и использовать serveride script для запуска разных кодов в зависимости от того, на какую кнопку нажали пользователи.
Ответ 9
Нет, мы не можем вложить формы в другую форму, подобную этой
<form name='form1'>
<form name='form2'>
//some code here
</form>
</form>
он будет работать в некоторых случаях, но он не рекомендуется для универсальных платформ. Вы можете использовать множество кнопок SUBMIT внутри одной формы, но вы не можете управлять вложенной формой соответствующим образом.