Ich mache das auf der Serverseite. Das heißt, das Formular wird immer an dasselbe Ziel gesendet, aber ich habe ein serverseitiges Skript, das für die Umleitung an den entsprechenden Speicherort verantwortlich ist, je nachdem, welche Taste gedrückt wurde.
Wenn Sie mehrere Schaltflächen haben, z
<form action="mypage" method="get">
<input type="submit" name="retry" value="Retry" />
<input type="submit" name="abort" value="Abort" />
</form>
Hinweis: Ich habe GET verwendet, aber es funktioniert auch für POST
Dann können Sie leicht feststellen, welche Taste gedrückt wurde - wenn die Variable retry
existiert und einen Wert hat, wurde ein erneuter Versuch gedrückt, und wenn die Variable abort
existiert und einen Wert hat, wurde der Abbruch gedrückt. Dieses Wissen kann dann verwendet werden, um an den entsprechenden Ort umzuleiten.
Diese Methode benötigt kein Javascript.
Hinweis: Einige Browser können ein Formular senden, ohne eine Taste zu drücken (durch Drücken der Eingabetaste). Da dies nicht dem Standard entspricht, müssen Sie dies berücksichtigen, indem Sie eine eindeutige default
Aktion ausführen und diese aktivieren, wenn keine Tasten gedrückt wurden. Mit anderen Worten, stellen Sie sicher, dass Ihr Formular etwas Sinnvolles tut (unabhängig davon, ob eine hilfreiche Fehlermeldung angezeigt wird oder eine Standardeinstellung angenommen wird), wenn jemand die Eingabetaste in einem anderen Formularelement drückt, anstatt auf eine Senden-Schaltfläche zu klicken, anstatt nur zu brechen.