Zwei Submit-Buttons im Formular
Eingetragen von graxx (17)
am 06.09.2007 - 09:05 Uhr in
am 06.09.2007 - 09:05 Uhr in
Hallo!
Ich versuche ein Formular-Modul zum Löschen eines Datensatzes zu entwickeln. Der User soll vorm Löschen auf eine Seite kommen, wo er gefragt wird, ob er den Datensatz wirklich löschen will. Er soll seine Entscheidung mit einem "Ja"- oder einem "Nein"-Button angeben. Die Buttons sollen nebeneinander angezeigt werden.
Das Problem:
Leider sehe ich keine Möglichkeit beim Validieren (*_validate()
) oder in der Submit-Funktion (*_submit()
) abzufragen, welcher der beiden Buttons gedrückt wurde. Wenn ich alternativ zwei Formulare (für jeden Button eines) auf die Entscheidungs-Seite mache, werden meine Validier- und Submit-Funktionen nicht mehr aufgerufen.
- Anmelden oder Registrieren um Kommentare zu schreiben
confirm_form
am 06.09.2007 - 09:21 Uhr
Versuchs mal mit
http://api.drupal.org/api/function/confirm_form/5
Die vereinfacht das Verfahren vielleicht.
Gruß,
Ralf
$form_data['op']
am 06.09.2007 - 10:12 Uhr
Welcher Button gedrückt wurde unterscheidest Du am Wert von
$form_data['op']
. Der Inhalt dieser Variable entspricht der Beschriftung des Buttons, der gedrückt wurde. Das könnte z.B. etwas so aussehen (dieses Snippet findest Du überall in Drupal):function _myform_submit($form_id, $form_data) {
switch ($form_data['op']) {
case t('Save configuration'):
...
break;
case t('Reset to defaults'):
...
break;
}
}
Um die Sache mit dem Bestätigungsformular einfacher zu machen, kannst Du (wie FGamba bereits schrieb) die
confirm_form()
Funktion verwenden.FYI: In Drupal 6 ist
$form_data['op']
übrigens veraltet, stattdessen kann man den Buttons direkt verschiedene validate/submit-Handler zuweisen.Danke, das hat mir
am 06.09.2007 - 11:47 Uhr
Danke, das hat mir weitergeholfen! :)