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 - 09: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 - 11: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

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 14 Stunden 43 Minuten
  • anyone has a working Betaflight mirror right now?
    vor 2 Tagen 10 Stunden
  • Vielen Dank für Ihren
    vor 2 Tagen 14 Stunden
  • Composer ist sehr ratsam
    vor 4 Tagen 13 Stunden
  • Vielen Dank für den
    vor 6 Tagen 23 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 1 Woche 12 Stunden
  • Gut gemacht
    vor 1 Woche 12 Stunden
  • Layout Builder etc. z.B. für Landing Pages
    vor 1 Woche 12 Stunden
  • Links
    vor 1 Woche 3 Tagen
  • Moin,wow, sehr gutes
    vor 1 Woche 4 Tagen

Statistik

Beiträge im Forum: 250315
Registrierte User: 20561

Neue User:

  • rofilm
  • Cruzorerm
  • Plandkeews

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 18 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