Puis-je imbriquer des balises de formulaire dans d'autres balises de formulaire?
Puis-je mettre un <form>
balise à l'intérieur d'un autre <form>
tag?
Par exemple:
<form>
<form>
</form>
</form>
source d'informationauteur Navruk
Vous devez vous connecter pour publier un commentaire.
Non, des formulaires imbriqués sont interdits.
Cela est exprimé dans la HTML 4.01 Dtd:
— http://www.w3.org/TR/html4/interact/forms.html#h-17.3
Cela signifie UN FORMULAIRE obligatoire balise de début, obligatoire balise de fin et peut contenir n'importe quoi, en %bloc ou d'un SCRIPT, à l'exception des autres Formes.
XML Dtd ne sont pas aussi expressif que SGML Dtd donc dans XHTML cette règle est précisé que dans le texte lisible du cahier des charges:
— http://www.w3.org/TR/xhtml1/#prohibitions
HTML 5 n'est pas une application de SGML et de ne pas disposer d'un fonctionnaire lisibles à la machine description de la langue. Il exprime aussi cette règle dans le texte:
— http://www.w3.org/TR/html5/forms.html#the-form-element
Des formulaires imbriqués ne sont pas autorisés par le cahier des charges (je ne suis pas sûr de ce que le comportement de la tentative, je n'ai pas essayé).
Il y a une certaine discussion intéressante sur le sujet dans une précédente questioncependant.
Vous ne pouvez pas imbriquer entre eux, mais vous pouvez les éléments du groupe...il y a un mécanisme spécifiquement pour cela, le
<fieldset>
de l'élémentutilisé pour le contrôle du groupe/les étiquettes...et en HTML5, l'associer à des formes spécifiques, désactiver le contenu, etc.Non, l'utilisation
<fieldset>
si vous voulez couper vos formes. Certains navigateurs peuvent être en mesure de l'analyser (n'ai pas testé), mais selon l'w3 standard il n'est pas permis d'utiliser des formulaires dans d'autres formes.Fonctionne très bien avec le XHTML 1.0 Strict.
J'ai même testé la validation par le collage ci-dessous dans http://validator.w3.org/check.
CEPENDANT Quentin ci-dessous est correct: j'ai testé et le sous-formulaire d'ouverture de la et les balises de fermeture sont ignorés. Formulaire de saisie des éléments apparaissant avant, à l'intérieur, et après que l'enfant balises de formulaire sont traitées comme des membres de la société mère formulaire, y compris les boutons de soumission. JavaScript références à
this.form
de l'intérieur de l'enfant forme de référence du formulaire parent. Si vous donner à l'enfant la forme d'un identifiant et d'y accéder viagetElementById
puis vous recevez un élément, mais.submit()
ne fait rien. C'est en fait une forme (le parent) avec les ordures ménagères, les balises.Directement dans les Formulaires ne sont pas autorisés. Tous vos javascript ne fonctionne pas et l'intention de comportement ne sera pas là.
Cependant, vous pouvez essayer ceci:
Vous aurez besoin de créer un mannequin de forme entre les 2 formes que vous souhaitez utiliser. 1 note de prudence, 1ère Forme et la forme mannequin aurez besoin d'avoir certaines balises entre eux. sinon cela ne fonctionnera pas.