Est-il valable pour avoir un formulaire html à l'intérieur d'un autre formulaire html?
Est-il valide en html pour les éléments suivants:
<form action="a">
<input.../>
<form action="b">
<input.../>
<input.../>
<input.../>
</form>
<input.../>
</form>
Ainsi, lorsque vous soumettez "b", vous obtenez seulement les champs à l'intérieur de la forme. Lorsque vous soumettez "un", vous obtenez tous les domaines moins dans les "b".
Si il n'est pas possible, à ce que des solutions de contournement pour ce problème sont disponibles?
- Il me semble que c'est en fait très commun qui est familier à partir de db interfaces -- Si une forme de mises à jour de la table A et que la table a un domaine lié à la table B, nous avons souvent besoin d'un moyen de mettre à jour ou créer des entrées pour ce champ relié sans avoir à quitter l'écran actuel. Imbriquée des sous-formulaires serait une manière très intuitive pour le faire (et est l'interface utilisateur mis en œuvre par plusieurs bases de données de bureau).
- Il n'est pas valide. Il existe des solutions de contournement, mais vous devriez être en utilisant une autre méthode pour obtenir ces données. Envisager une forme de l'envoi de toutes les données à un mail de PHP script, qui soumet ensuite une partie (la partie à partir d'un) comme un email, et une partie (la partie de b) comme un autre e-mail. Ou dans une base de données, ou de ce que vous faites avec ces données. L'imbrication des formes peut être fait, mais ce n'est PAS la réponse!
- double possible de vous Pouvez imbriquer des formulaires html?
- La question est bonne, mais une rapide recherche sur google (sans cliquer sur les liens proposés même) révèle que les formes dans les formulaires est valide ou non. personnellement, j'aimais @Andreas réponse.
Vous devez vous connecter pour publier un commentaire.
A. Il n'est pas valide en HTML ni XHTML
Dans l'officiel du W3C XHTML spécification, de la Section B. Élément Interdictions", stipule que:
http://www.w3.org/TR/xhtml1/#prohibitions
Comme pour les plus âgés HTML 3.2 spec,
la section sur les FORMES de l'élément, qui stipule que:
B. La Solution De Contournement
Il existe des solutions de contournement à l'aide de JavaScript sans avoir besoin d'imbriquer des balises de formulaire.
"Comment créer un formulaire imbriqué." (malgré le titre c'est pas imbriquée balises de formulaire, mais un JavaScript solution de contournement).
Les réponses à cette question StackOverflow
Remarque: Bien que l'on peut tromper les Validateurs du W3C pour passer d'une page en manipulant le DOM via un script, c'est pas encore légal HTML. Le problème avec l'utilisation de ces approches est que le comportement de votre code est maintenant pas garanti sur tous les navigateurs. (puisqu'il n'est pas standard)
Au cas où quelqu'un trouve ce post ici est une excellente solution sans avoir besoin de JS. L'utilisation de deux boutons submit, avec différents attributs de nom de vérifier dans votre langue du serveur qui soumettent des bouton a été pressé causer un seul d'entre eux sera envoyé au serveur.
Le côté serveur pourrait ressembler à quelque chose comme ceci si vous utilisez php:
HTML 4.x & HTML5 interdire des formulaires imbriqués, mais HTML5 permettra une solution de contournement avec la "forme" de l'attribut ("formulaire propriétaire").
Comme pour le HTML 4.x vous pouvez:
Comme d'autres l'ont dit, il n'est pas valide HTML.
Il semble que votre sont en train de faire ce pour positionner les formes visuellement les unes dans les autres. Si c'est le cas, il suffit de faire deux formulaires distincts et utiliser les CSS pour les positionner.
Non, la spécification HTML indique qu'aucune
FORM
élément doit contenir un autreFORM
élément.plutôt l'utilisation d'un code javascript personnalisé-méthode à l'intérieur de l'attribut action du formulaire!
par exemple
pas,
voir w3c
Vous pouvez répondre à votre propre question très facilement en saisissant le code HTML dans le Validateur W3. (Il dispose d'un champ de saisie de texte, vous n'aurez même pas à mettre votre code sur un serveur...)
(Et non, ça n'a pas de valider.)
Une possibilité est d'avoir un iframe à l'intérieur de la forme extérieure. L'iframe contient à l'intérieur de la forme. Assurez-vous d'utiliser le
<base target="_parent" />
balise à l'intérieur de la balise head de l'iframe pour faire la forme de se comporter comme une partie de la page principale.Non, il n'est pas valide. Mais une "solution" peut être la création d'une fenêtre modale à l'extérieur de la forme "a" contenant la forme "b".
Il peut être fait facilement si vous êtes en utilisant bootstrap ou se matérialiser css.
Je fais cela pour éviter l'utilisation d'iframe.
Si vous avez besoin d'un formulaire afin de soumettre et valider les données d'un rapport de 1:M de base de données relationnelle, je recommande la création d'un "insérer après" DB trigger sur la table A, qui permet d'insérer les données nécessaires pour le tableau B.