Ralf: Formular mit zwei Submit-Buttons und zwei verschiedenen Targets

Hi!

Ich habe im Archiv gesucht und nichts gefunden. Ich kenne mich mit der SUche aber nicht besocnders gut aus, also erschlagt mich bitte nicht, wenn es doch schon irgendwo die Lösung von meinem Problem gibt.

Ich habe ein HTML-Formular mit zwei Submit-Buttons.
Wenn man auf de einen Button klick soll die neue Seite im gleichen Fenster geöffnet werden. Wenn man auf den anderen klickt, soll ein neues Fenster aufgehen, also zwei verschiedene Targets.
Geht das nur mit JavaScript oder gibt es auch eine Lösung, mit der ich mit reinem HTML auskomme?
Wenn es seinmuss wäre auch ein "Zwischenschritt" in php möglich.

MfG
   Ralf

  1. Hi!

    Ich habe im Archiv gesucht und nichts gefunden. Ich kenne mich mit der SUche aber nicht besocnders gut aus, also erschlagt mich bitte nicht, wenn es doch schon irgendwo die Lösung von meinem Problem gibt.

    Ich habe ein HTML-Formular mit zwei Submit-Buttons.
    Wenn man auf de einen Button klick soll die neue Seite im gleichen Fenster geöffnet werden. Wenn man auf den anderen klickt, soll ein neues Fenster aufgehen, also zwei verschiedene Targets.
    Geht das nur mit JavaScript oder gibt es auch eine Lösung, mit der ich mit reinem HTML auskomme?
    Wenn es seinmuss wäre auch ein "Zwischenschritt" in php möglich.

    MfG
       Ralf

    Mach doch einfach zwei Formulare!

    1. Mach doch einfach zwei Formulare!

      Das geht nicht, weil die beiden Buttons zu den selben Eingabefeldern gehören.

  2. Hallo, Ralf,

    Ich habe ein HTML-Formular mit zwei Submit-Buttons.
    Wenn man auf de einen Button klick soll die neue Seite im gleichen Fenster geöffnet werden. Wenn man auf den anderen klickt, soll ein neues Fenster aufgehen, also zwei verschiedene Targets.
    Geht das nur mit JavaScript

    Ja. Bestücke einen Button mit onclick="document.[formularname].target='_blank'; return true", das dürfte reichen. Vielleicht eine bedingte Anweisung if (document.[formularname].target) ... davor. Den Formularnamen legst du mit dem name-Attribut im form-Element fest.
    Oh, unter http://selfhtml.teamone.de/javascript/objekte/forms.htm#target findet sich sogar ein passendes Beispiel. Siehe auch http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#form. Der Zugriff könnte auch über das DOM erfolgen.

    gibt es auch eine Lösung, mit der ich mit reinem HTML auskomme?

    Nein. AFAIK natürlich, bin mir aber ziemlich sicher. :)

    Wenn es seinmuss wäre auch ein "Zwischenschritt" in php möglich.

    Ja, das wäre aber unelegant. Du müsstest für die beiden Submitbuttons unterschiedliche name-Attribut notieren (soweit klar) und die Formulardaten an dieselbe Seite schicken, welche dann ausliest, welches Button gewählt wurde und je nachdem entweder mit HTTP 302 auf die Zielseite weiterleitet oder die alte Seite aufruft und das neue Fenster mit der Zielseite mit onload öffnet.
    Mozilla kann onload-Popupfenster jedoch blocken et cetera, die Probleme würden den Nutzen überwiegen.

    Dass du dem Benutzer die Wahl lässt, ob ein neues Fenster geöffnet wird, finde ich begrüßenswert.
    (Im Übrigen kann der Benutzer auch eigenständig "Formularlinks" in ein neues Fenster leiten, zumindest ist mir das im Opera bekannt.)

    Grüße,
    Mathias