Zum Inhalt springen

mehrere forms html


pencil

Empfohlene Beiträge

form

...

Kindelemente:

1. nach Seite HTML Strict:

[block-Elemente] (außer form) | script

2. nach Seite HTML Transitional:

[block-Elemente] (außer form) | [inline-Elemente]

...

Mehrere Formulare kannst du verwenden, aber kein Form in einem anderen.

Was soll das überhaupt bringen?


<form name="form1" ... >

</form>

</form name="form2" ... >

</form>

...

Das ist ok, und dein Konstrukt tut ja nichts anderes...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was soll das überhaupt bringen?
Solche Situationen hab ich irgendwie ziemlich oft. Nämlich dann, wenn es einen ganzen Rutsch Eingabefelder gibt, und über zwei Buttons zwei verschiedene Aktionen mit den Werten ebendieser Eingabefelder vorgenommen werden sollen(zB "Vorschau" und "Erstellen"). Da zwei Formulare mit unterschiedlichen Programmen dahinter für beide Fälle definiereren bringt in der Regel wenig, speziell wenn die Aktionen in weiten Teilen recht ähnlich sind.

Die "simple" Lösung besteht darin, zwei Submit-Buttons mit unterschiedlichen Werten einzubauen, und diesen Wert dann entsprechend im Folgeprogramm auszuwerten - irgendwie hab ich das noch nie wirklich gemacht:hells:... Etwas eleganter (aber nicht immer akzeptabel) ist eine Lösung per Javascript (nur mal schnell hingeschmiert):


<script type="text/javascript" language="JavaScript">

function DoVorschau() {

    // action 2 = Vorschau

    document.meineform.action='2'; 

    meineform.submit();

}

</script>

[...]

<form name="meineform">

[...]

<!--- Standard-Action 1= Erstellen -->

<input type="hidden" name="action" value="1">

<input type="submit" [...]>

<input type="button" value="Vorschau" onClick="javascript:DoVorschau();"[...]>

</form>

Link zu diesem Kommentar
Auf anderen Seiten teilen

und wieso nicht ein Form und ein Submitbutton ? im nächsten Dokument hast du eben paar variablen mehr -> NA UND ?
Das klappt halt so pauschal nicht immer... siehe mein Beispiel. Natürlich könnte ich nach dem Submit noch eine weitere Seite anzeigen, wo der User erstmal auswählen darf, ob er nur eine Vorschau oder gleich das fertige Ergebnis erhalten darf. Aber sonderlich benutzerfreundlich ist das hier wohl nicht (mal abgesehen davon, dass mein Kunde das idR so nicht will).

Es kommt also immer darauf an...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Solche Situationen hab ich irgendwie ziemlich oft. Nämlich dann, wenn es einen ganzen Rutsch Eingabefelder gibt, und über zwei Buttons zwei verschiedene Aktionen mit den Werten ebendieser Eingabefelder vorgenommen werden sollen(zB "Vorschau" und "Erstellen"). Da zwei Formulare mit unterschiedlichen Programmen dahinter für beide Fälle definiereren bringt in der Regel wenig, speziell wenn die Aktionen in weiten Teilen recht ähnlich sind.

Die "simple" Lösung besteht darin, zwei Submit-Buttons mit unterschiedlichen Werten einzubauen, und diesen Wert dann entsprechend im Folgeprogramm auszuwerten - irgendwie hab ich das noch nie wirklich gemacht:hells:...



<form name="form1"...>

...

<input type="submit" name="submit" value="Vorschau" />
<input type="submit" name="submit" value="Speichern" />
</form>


#php
if ($_POST["submit"] = "Vorschau")
{
...
}
else if ($_POST["submit"] = "Speichern")
{

}
[/php]

(nur mal schnell hingeschmiert)

Zur unterschiedlichen weiteren Behandlung der übermittelten Daten können Sie mehrere Absendebuttons mit name-Attribut verwenden.

[/Quote]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmpf, jetzt weiss ich auch, warum ich das nicht so machen konnte... unsere hauseigene Perl-Standardbibliothek packt alle übergebenen Formularfelder, die eine bestimmte Namenskonvention erfüllen, in einen Hash, und überschreibt alles andere (aus welchen Gründen auch immer) mit NULL - somit komm ich an den Value des submit gar nicht direkt ran... naja ok diese Einschränkung kann ich noch aufheben.

Allerdings hab ich so das dumpfe Gefühl, dass es dann (zumindest für mich) noch immer Fälle gibt, wo meine Javascript-Murkserei Sinn ergeben könnte - an gerade sowas hock ich aktuell auch dran. Bezogen auf mein Beispiel soll das "Ergebnis" (PDF) in einem neuen Browserfenster aufgehen (target="_blank") während die Vorschau (HTML) im aktuellen Frameset (target="inhalt") angezeigt werden soll. Oder krieg ich das auch mit nur einem Form und ohne JS hin? *grübel* (ist hier aber nicht soo wichtig, da die Anwendung aus anderen Gründen ohne JS nicht geht)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bezogen auf mein Beispiel soll das "Ergebnis" (PDF) in einem neuen Browserfenster aufgehen (target="_blank") während die Vorschau (HTML) im aktuellen Frameset (target="inhalt") angezeigt werden soll. Oder krieg ich das auch mit nur einem Form und ohne JS hin? *grübel*

Da nur das Form selber das Attribut "target" unterstützt, wirdst du das einfach so nicht hinbekommen. Also nur, mit Javascript eben, indem du im Form beispielsweise bei onsubmit prüfst, welcher Button gedrückt wurde... naja, dann kann man es ja aber eh gleich ganz per Javascript machen (wie in deinem Beispiel).

So schlecht ist die JS Lösung auch wieder nicht, hab es auch schon so gelöst, weil JS für diese Funktionalität eh notwendig war (die Seite selber war ohne JS nutzbar, aber die Admin Funktionalität eben nur mit).

Ohne JS könntest du es nur über ein PopUp lösen (von der aufgerufenen Seite aus)... aber auch nicht gerade schön.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...