Änderung der Formular-Daten nach dem submit in drupal
in einigen Inhaltstyp Formular habe ich ein Kontrollkästchen. Wenn dieses Markierungsfeld ausgewählt ist, will ich entfernen Sie einige der eingereichten Daten.
Zu tun, so dass ich erstellt ein benutzerdefiniertes Modul (my_module.Modul):
function my_module_form_alter(&$form, &$form_state) {
//...
$form['#submit'][] = 'my_module_form_alter_submit';
}
function my_module_form_alter_submit($form_id, $form_values) {
drupal_set_message(t('Submit Function Executed!'));
}
Wie kann ich sagen, dieses Modul zu beziehen sich nur auf die form eines bestimmten containt Art? Und wie kann ich die Daten entfernen, wenn er eingereicht wird?
InformationsquelleAutor Artjom Zabelin | 2012-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie ändern einen Knoten Bearbeiten-Formular können Sie entweder bedingt Beurteilung die submit-callback-wie Sie (in Ihrer hook_form_alter):
oder, Sie könnte prüfen, $form-argument in der submit-callback in ähnlicher Weise.
Ihnen fehlt das Dritte argument, das hook_form_alter die $form_id, und Ihre submit-callback sollte die Argumente wie:
Siehe auch:
http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_form_alter/6
http://api.drupal.org/api/drupal/developer%21topics%21forms_api.html/6
InformationsquelleAutor lizbit
Daten zu löschen nach dem Absenden, in Ihrer Funktion form_alter, nur mit unset() auf das Formular-Feld.
unset($form['my-field']);
InformationsquelleAutor Adam Kalsey