Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

... _submit() wird in der Form_API nicht ausgeführt

Eingetragen von UwBach (310)
am 23.04.2008 - 08:09 Uhr in
  • Modul-Entwicklung
  • Drupal 5.x

Hallo
ich arbeite mich grade in Drupal (Buch::Pro Drupal Development) ein und habe mit einer Funktion Probleme. Das Formular arbeitet ganz gut, allerdings wird die Funktion testform_bspform_submit($form_id, $form_values) nicht ausgeführt. Ich finde den Fehler nicht, kann mit evtl. jemand einen Tip geben?

Das Formular läuft in einem eigenen Modul testform

<?php
// $Id$

/**
* @file
* Testen von Formularelementen
*/

/**
* Ein eigenes Menü muss her
*/
function testform_menu()
{
$items = array();

$items[] = array(
'path' => 'testform',
'title' => t('Beispielsformular'),
'callback' => 'testform_page',
'access' => TRUE,
'type' => MENU_NORMAL_ITEM
);

if($may_cache)
{

}

return $items;
} // END testform_menu()

/**
* Rückgabe der Seite
*/
function testform_page()
{
$uebergabe = t('Das ist ein Beispielsformular');

$uebergabe .= drupal_get_form('testform_bspform');

return $uebergabe;
} // END uwe_form_page()

/**
* Hier wird das Formular angelegt
*/
function testform_bspform()
{
$erlaubte_anrede = array('Frau', 'Herr');

$form['name_fieldset'] = array(
'#title' => t('Dein Name'),
'#type' => 'fieldset',
'#description' => t('Wie hei&szlig;t du?')
);

$form['name_fieldset']['deine_anrede'] = array(
'#title' => t('Anrede'),
'#type' => 'textfield',
'#description' => t('Bitte die Anrede eingeben (Frau, Herr).'),
'#validate' => array('testform_bspform_anrede_validate' => array($erlaubte_anrede))
);

$form['name_fieldset']['dein_name'] = array(
'#title' => t('Dein Name'),
'#type' => 'textfield',
'#description' => t('Hier gib bitte deinen Namen ein')
);

$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Senden')
);

return $form;
} // END testform_bspform()

/**
* Validierung der Formulareingaben
*/
function testform_bspform_validate($form_id, $form_values)
{

if($form_values['dein_name'] == 'King Kong')
{
form_set_error('dein_name', t('Das glaube ich nicht. Die Finger von King Kong sind zu gross fuer deine Tastatur.'));
}

if($form_values['dein_name'] == 'Willi')
{
form_set_error('dein_name', t('Das glaube ich nicht. Das bin ich.'));
}

} // END testform_bspform_validate()

/**
* Das kommt jetzt nach erfolgreicher Validierung
*/
function testform_bspform_submit($form_id, $form_values)
{
drupal_set_message('Hallo vom Formular');

$name = $form_values['dein_name'];

drupal_set_message(t('Danke für deinen Namen, %name', array('%name' => $name)));

} // testform_bspform_submit()

/**
* Prüfung auf erlaubte Werte über ein Array
*/
function testform_bspform_anrede_validate($element, $erlaubte_anrede)
{
if(!in_array($element['#value'], $erlaubte_anrede))
{
form_error($element, 'Bitte benutzen Sie Herr oder Frau als Anrede.');
}
} // testform_bspform_anrede_validate()

Besten Dank im Voraus

UwBach

‹ Modulentwicklung: Extrafunktion fürs Backend und Zugriffsteuereung dafür Umfrage Auswhlmöglichkeiten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ergänzung

Eingetragen von UwBach (310)
am 23.04.2008 - 10:13 Uhr

Die Funktion wird scheinbar doch ausgeführt, nur die drupal_set_message() werden nicht ausgegeben. Kann mir jemand sagen warum?

Der Code wurde um einen Retrun-Wert zur Default-Seite ergänzt.

/**
* Das kommt jetzt nach erfolgreicher Validierung
*/
function testform_bspform_submit($form_id, $form_values)
{
drupal_set_message('Hallo vom Formular');

$name = $form_values['dein_name'];

drupal_set_message(t('Danke für deinen Namen, %name', array('%name' => $name)));

return './';
} // testform_bspform_submit()

Gruß

UwBach

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Tag 21 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Tagen 13 Stunden
  • melde mich mal wieder, da ich
    vor 7 Wochen 6 Tagen
  • Hey danke
    vor 8 Wochen 12 Stunden
  • Update: jetzt gibt's ein
    vor 8 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 3 Tagen
  • In der entsprechenden View
    vor 9 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association