Kann man verschachteln, html Formulare?
Ist es möglich zu verschachteln, html Formulare, wie diese
<form name="mainForm">
<form name="subForm">
</form>
</form>
so, dass beide Formen der Arbeit? Mein Freund hat Probleme mit diesem, ein Teil der subForm
arbeitet, während ein anderer Teil es nicht.
Er ist die Einrichtung einer Warenkorb, wo Sie die update-Menge ist im inneren der form, die Spur hält von Summen. Ich persönlich würde das nicht tun, aber er wird Probleme bekommen, zu arbeiten.
Scheint, wie würde er besser mit Javascript zum kopieren von Werten aus einem Formular zum anderen, anstatt zu versuchen, um Sie zu verschachteln. Ich glaube nicht, dass die Verschachtelung funktioniert.
Alte Frage, aber die Antwort auf die Kommentar-Verschachtelung von Formularen notwendig sein könnte, um zu vermeiden JavaScript. Ich komme über diese, weil ich möchte, nest Formen für Unterformular "reset" - Tasten nicht, muss JavaScript aktiviert sein.
Mögliche Duplikate von: stackoverflow.com/questions/597596/...
möglich, Duplikat der Ist es gültig für ein html Formular innerhalb eines anderen html-Formular?
Scheint, wie würde er besser mit Javascript zum kopieren von Werten aus einem Formular zum anderen, anstatt zu versuchen, um Sie zu verschachteln. Ich glaube nicht, dass die Verschachtelung funktioniert.
Alte Frage, aber die Antwort auf die Kommentar-Verschachtelung von Formularen notwendig sein könnte, um zu vermeiden JavaScript. Ich komme über diese, weil ich möchte, nest Formen für Unterformular "reset" - Tasten nicht, muss JavaScript aktiviert sein.
Mögliche Duplikate von: stackoverflow.com/questions/597596/...
möglich, Duplikat der Ist es gültig für ein html Formular innerhalb eines anderen html-Formular?
InformationsquelleAutor Levi | 2008-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einem Wort, Nein. Sie können mehrere Formulare in einer Seite, aber Sie sollten nicht geschachtelt werden.
Aus der html5 working draft:
Ich Stimme mit der Antwort, aber Fragen andere, warum nicht? Warum funktioniert HTML nicht erlauben Verschachtelung von Formularen? Mir erscheint es eine Einschränkung, wir wären besser dran ohne. Es gibt viele Beispiele, wo mit verschachtelten Formen wäre einfacher zu Programmieren (D. H. mit einer upload-Foto-form mit einem Profil-Bearbeiten-Formular).
er wird nicht gefragt, ob oder nicht es kann nicht getan werden, er fragt, WARUM nicht. Ich bin einverstanden; Schachtelung von Formularen ist eigentlich wirklich nützlich. Also, wenn Sie eine ein-Seite-app mit tabs, jeder tab ist eine eigene form (so können Sie es speichern Fortschritt), und Sie sind alle verpackt in einem Formular, das Sie Einreichen können alles speichern. Macht Sinn für mich.
Ich Stimme mit was andere gesagt haben. Diese Begrenzung erscheint willkürlich und schädlich.
Wir müssen also HTML 5.1 mit verschachtelten Formen.
InformationsquelleAutor Craig
Dem zweiten Formular werden ignoriert, siehe die snippet von WebKit zum Beispiel:
InformationsquelleAutor Vitalii Fedorenko
Ich lief in ein ähnliches problem, und ich weiß, dass ist keine Antwort auf die Frage, aber es kann helfen, jemanden mit dieser Art von problem:
wenn Bedarf besteht, stellen die Elemente von zwei oder mehr Formen in einer bestimmten Reihenfolge, die HTML5
<input> form
Attribut kann die Lösung sein.Von http://www.w3schools.com/tags/att_input_form.asp:
Szenario:
Umsetzung:
Hier finden Sie browser-Kompatibilität.
Danke für den Hinweis it out @TheFrost, Hinzugefügt, um Antwort
Oktober 2017, das funktioniert in der Kante
es funktioniert Super ! einbezogen werden sollten in die akzeptierte Antwort
Nur zeigen die browser-support-Tabelle: caniuse.com/#feat=form-attribute Fortsetzen - es funktioniert überall(Chrome, Firefox, Opera, Kante, Safari, Android-browser,...) außer dem IE (einschließlich der neuesten, von jetzt v11).
InformationsquelleAutor Cliff Burton
Plain html nicht erlauben, dies zu tun. Aber mit javascript können Sie in der Lage, das zu tun.
Wenn Sie mit javascript/jquery Sie klassifizieren könnte, Formular-Elemente mit einer Klasse und verwenden Sie dann serialize() serialisieren, die nur die Formular-Elemente für die Teilmenge der Elemente, die Sie übermitteln möchten.
Dann in der javascript, die Sie tun können, diese zu serialisieren class1 Elemente
Für class2 Sie tun konnte,
Für die ganze form
oder einfach
InformationsquelleAutor user2420019
Wenn Sie mit AngularJS, jede
<form>
tags innerhalbng-app
ersetzt, die zur Laufzeit mitngForm
Richtlinien, die entworfen sind, um geschachtelt werden.Dies war die Antwort, die ich gesucht hatte 🙂 Und ja, es macht Sinn, nest bilden, weil, wenn Sie mehrere Registerkarten, aber Sie wollen, um die Validierung auf nur einem tab, dann mit geschachtelten form Sie das tun können.
Es ist das gleiche für webcomponents?
InformationsquelleAutor roufamatic
Als Craig sagte, Nein.
Aber, in Bezug auf Ihren Kommentar zu warum:
Könnte es einfacher sein zu verwenden 1
<form>
mit den Eingängen und den "Update" - Taste, und verwenden Sie kopieren, versteckte Eingänge mit "Bestellung Abschicken" - button in einer anderen<form>
.InformationsquelleAutor Jonathan Lonowski
Einen anderen Weg, dieses problem zu umgehen, wenn Sie einige server-side-scripting-Sprache, die ermöglicht Ihnen die Bearbeitung der geposteten Daten, ist zu erklären, das html-Formular wie dieses :
Wenn Sie drucken, werden die geposteten Daten (ich verwende PHP hier), erhalten Sie ein array wie dieses :
Dann können Sie nur so etwas wie :
Ihre $_POST hat jetzt nur Ihren "Hauptformular" Daten und Unterformular die Daten in andere variable, die Sie Bearbeiten können.
Hoffe, das hilft!
InformationsquelleAutor Pierre
http://www.w3.org/MarkUp/html3/forms.html
https://www.w3.org/TR/html4/appendix/changes.html#h-A.3.9 (html4-Spezifikation Hinweise keine änderungen in Bezug auf die Verschachtelung Formen von 3,2 bis 4)
https://www.w3.org/TR/html4/appendix/changes.html#h-A.1.1.12 (html4-Spezifikation Hinweise keine änderungen in Bezug auf die Verschachtelung Formen von 4.0 auf 4.1)
https://www.w3.org/TR/html5-diff/ (html5-Spezifikation Hinweise keine änderungen in Bezug auf die Verschachtelung Formen von 4 auf 5)
https://www.w3.org/TR/html5/forms.html#association-of-controls-and-forms Kommentare zu "Diese Funktion erlaubt es den Autoren zu arbeiten, um den Mangel an Unterstützung für verschachtelte Elemente bilden.", aber nicht nennen, wo dies angegeben ist, ich denke, Sie sind unter der Annahme, dass wir davon ausgehen sollten, dass er spezifiziert in der html3-Spezifikation,:)
Es ist ein Hinweis darauf, wie lange die zugrunde liegende Frage beantwortet wurde, die ich glaubte, konstruktiv zu sein. Auch fand ich die Takt-free "Hinweis: Sie werden nicht erlaubt zu verschachteln, FORMULAR-Elemente!" innerhalb der spec humorvoll.
Dies ist ein problem, denn ich habe das einfügen eines API, das eine form und da .Netto-app (die wraps ein <form> - tag, um alles). Wie überwinden Sie dieses Problem.
InformationsquelleAutor Mark Peterson
Als es 2019 möchte ich eine aktualisierte Antwort auf diese Frage. Ist es möglich das gleiche Ergebnis zu erzielen als geschachtelte Formen, aber ohne Verschachtelung. HTML5 eingeführt, die das form-Attribut. Können Sie das form-Attribut, Formular-Steuerelemente außerhalb eines Formulars zur Verknüpfung mit einem spezifischen Formular-element (per id).
https://www.impressivewebs.com/html5-form-attribute/
Diese Weise können Sie die Struktur der html so:
Form-Attribut wird unterstützt von allen modernen Browsern. IE nicht unterstützt wird, aber der IE ist kein browser mehr, sondern ein Kompatibilitäts-tool von Microsoft bestätigt sich: https://www.zdnet.com/article/microsoft-security-chief-ie-is-not-a-browser-so-stop-using-it-as-your-default/. Es ist Zeit, dass wir aufhören, die Sorge um die Dinge funktionieren im IE.
https://caniuse.com/#feat=form-attribute
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fae-form
Aus der html-spec:
InformationsquelleAutor Creative
Eine einfache Lösung ist die Verwendung eines iframe, halten Sie die "nested" - form.
Visuell ist die form geschachtelt ist, aber auf der code-Seite, die in einer separaten html-Datei zusammen.
InformationsquelleAutor Ezion
Selbst wenn, du könntest es, um in einem browser, es gibt keine Garantie, dass es funktionieren würde, das gleiche in allen Browsern. So, während Sie könnte in der Lage sein, um es zu arbeiten einige der Zeit, Sie würde sicherlich nicht in der Lage sein, um es zu arbeiten alle der Zeit.
InformationsquelleAutor Mike Hofer
Würden Sie sich ja selbst Probleme haben, es in verschiedene Versionen des gleichen Browsers. So vermeiden Sie, dass.
InformationsquelleAutor MP.
Während ich nicht anwesend, eine Lösung für verschachtelte Formulare (es funktioniert nicht zuverlässig), ich präsentieren ein workaround, funktioniert für mich:
Einsatzszenario: Eine superform zu ändern, so dass N Elemente auf einmal. Es hat einen "Submit" button an der Unterseite. Jedes Element haben will, um seine eigene verschachtelte Formular mit "Submit Item # N" - Taste. Aber kann nicht...
In diesem Fall kann man eigentlich die Verwendung einer einzigen form, und dann der name des buttons werden
submit_1
..submit_N
undsubmitAll
und behandeln-Server-Seite nur betrachten, params endet in_1
wenn der name der Schaltfläche warsubmit_1
.Ok, also nicht viel von einer Erfindung, aber es macht den job.
InformationsquelleAutor Peter V. Mørch
Können Sie auch formaction="" im button-tag.
Wäre dies eingebettet in die ursprüngliche form, wie eine separate Taste.
ignorieren Sie oben (würde nicht lassen Sie mich Bearbeiten Sie nach 5 Minuten...hmm). große Hilfe hier - genau das abgebildet, was ich versuchte zu tun an diesem morgen. dies ist der Grund, warum wir alle lieben es SO
InformationsquelleAutor Chief Buddy
Zum verschachteln von Formen: ich verbrachte 10 Jahre ein Nachmittag versucht zu Debuggen einer ajax-Skript.
meine Vorherige Antwort/Beispiel nicht für die html-markup, sorry.
form_2 ständig fehlgeschlagen zu sagen ungültig form_2.
Als ich zog die ajaxContainer, produziert form_2
<i>outside</i>
von form_1, ich war wieder im Geschäft. Es die Antwort auf die Frage, warum man möglicherweise nest Formen. Ich meine, wirklich, was ist die ID für, wenn nicht zu definieren, welche form verwendet werden soll? Es muss eine bessere, intelligenter umgehen.InformationsquelleAutor larry
Benutzen Sie eine leere form-tag, bevor Sie Ihre verschachtelte form
Getestet und Funktionierte auf Firefox, Chrome
Nicht Getestet I. E.
Haben Sie versucht, mit submit-button. Ich bin mit dieser Methode viele Male und immer gearbeitet.
Dies ist ein Verstoß gegen die Spezifikation und die Verwendung von es ist, betteln um Probleme in der Zukunft.
Neueren webkit-Versionen einfach entfernen Sie die verschachtelte form-Elemente.
InformationsquelleAutor Fatih
Obwohl die Frage ist ziemlich alt, und ich Stimme mit @alle, die Verschachtelung von form-ist nicht erlaubt in HTML -
Aber dieses etwas allen vielleicht möchten Sie sehen, dieses
wo man hacken kann(ich nenne es ein hack, da bin ich sicher, dies ist nicht legitim) html-browser zulassen, um geschachtelte form
JS FIDDLE LINK
http://jsfiddle.net/nzkEw/10/
InformationsquelleAutor Viren
Wirklich nicht möglich...
Ich konnte nicht verschachteln, form-tags...
Allerdings habe ich diese code:
mit
{% csrf_token %}
und Sachenangewendet und einige JS
InformationsquelleAutor diogosimao
Heute bin ich auch stecken geblieben in der gleichen Ausgabe, und das Problem zu beheben ich habe ein user control und
auf dieses control verwende ich diesen code
und auf PreRenderComplete-Ereignis der Seite rufen Sie diese Methode auf
Ich glaube, das wird helfen.
InformationsquelleAutor Shivanshu
Bevor ich wusste, dass ich das nicht sollte dies tun, ich hatte verschachtelte Formulare für die Zwecke, die mehrere submit-buttons. Lief auf diese Weise für 18 Monate, Tausende von Anmeldungen Transaktionen, niemand rief uns über alle Schwierigkeiten.
Geschachtelte Formen, gab mir eine ID zu analysieren, für die richtigen Maßnahmen zu ergreifen. Nicht brechen 'til ich versuchte, Sie zu befestigen, ein Feld, um eine der Schaltflächen zu Validieren und sich beschwert. War keine große Sache zu entwirren-ich verwendet ein explizites stringify auf die äußere form, so dass es nicht die reichen und form nicht übereinstimmen. Ja, ja, sollte, haben die Tasten von einem senden zu einem onclick.
Punkt ist, es gibt Umstände, wo es nicht ganz gebrochen. Aber "nicht ganz kaputt" ist vielleicht ein zu niedriger standard zu Schießen 🙂
InformationsquelleAutor Roger Krueger
Nein, Sie können Sie an einer verschachtelten form. Stattdessen können Sie eröffnen eine Modal, enthält form und ausführen von Ajax Formular Absenden.
InformationsquelleAutor Shree Sthapit