Zwei Submit-Buttons - Verschiedene Targets

HeinerK

Erfahrenes Mitglied
HTML bietet ja leider nicht die Möglichkeit direkt zwei verschiedene Submitbuttons in einer Form einzubauen, die dann zwei verschiedene Skripte starten.

Nun gibt es ja diesen Workaround zwei Submit-Buttons einzubauen, diesen Namen zu geben und das selbe Skript aufrufen zu lassen. Im Skript lässt sich dann überpruefen, welcher Button aufgerufen wurde und man kann entsprechenden Code ausführen.

Ich möchte aber bei dem Klick auf Button1, dass ein Iframe aktualisiert wird.
Bei Klick auf Button2 soll es komplett ein zu einem anderen Skript weitergehen.
Damit dass Iframe aktualisiert werden kann, muss ich ja leider in <form> ein target setzen.
Obenbeschriebener Workaround geht also leider aufgrund der unterschiedlichen targets nicht.

Fällt jemand eine Lösung ein?
Heiner

PHP:
 <form name="formname" target="preis" action="preis_berechnen.php" method="post">
<select size="1" name="A">
<option selected>A</option>
<option>1</option>
<option>2</option>
</select> 
<input type="submit" value="Preis berechnen">
<input type="submit" value="Fortfahren">
</form>
<iframe width="20%" height="50" name="preis">
 
Ups, hätte ich vielleicht schreiben sollen. Javascript will ich nicht, das ist Dreck.

Etwa 10-15 % der Besucher haben kein Javascript aktiviert, weil sie es versehentlich (Doofheit) oder bewußt (Sicherheitsdenken) abgeschaltet haben.

Da da Skript im Kernbereich der Seite ist, würde ich ungern auf 10-15% der Besucher/Kunden verzichten...

Heiner
 
Mit PHP gibt es da keine Möglichkeit, als das Formular an ein weiteres Skript zur Auswertung zu schicken.
 
Ich hatte das Problem auch mal und habe es mit einem Link und einem Button gelöst.

Du nimmst für "Preis berechnen" einen Link (z.B. auch mit Variablenübergabe) und für "Fortfahren" die normale Formularfom mit Submit.

Wäre das in Deinem Fall auch ok?
 
zu Link und Button:

Nein, das geht leider nicht. Da ich für beide Folgeschritt ja die Daten aus dem Formular brauche.

Heiner
 
Wenn es nicht allzu viele Felder sind, könnte man es vielleicht mit serialize() bzw. unserialize() probieren?
 
Müssen es denn unbedingt 2 verschieden Buttons sein?
Könntest du nicht einen Auswahl-(radio)-Button machen und dann im nachfolgenden Skript einfach unterscheiden, welche Wahl der User getroffen hat?

Also von wegen
Möchten Sie dies oder jenes?
Radio-Buttons: (x) ( )

[Absenden]
 
Das würde das Problem nicht verändern, da du dann eben nicht prüfen mußt, welcher Button gedrückt wurde, sondern den Zustand der Radiobuttons.
 
Zurück