Mehrere Formulare auf einer Page
Eingetragen von Medienopfer98 (65)
am 25.03.2013 - 15:45 Uhr in
am 25.03.2013 - 15:45 Uhr in
Wie der Titel schon sagt... Ich versuche mehrere gleiche Formulare auf einer Seite einzubinden. Anscheinend kommt Drupal 7 aber mit den Variablen durcheinander und nimmt immer die Variablen aus dem ersten Formular. IDs sind natürlich alle unterschiedlich. Ich arbeite hook_form_validate und hook_form_submit und schätze da kommt es irgendwie zu fehlern. Das hab ich ungefähr (habs ein bisschen gekürzt.):
Im Theme:
//foreach ...
$form = drupal_get_form('mymod_form',array('iFormCounter'=>$i++,'sSecret'=>rand(0,99999999)));
print drupal_render($form);
//...
Im Module:
mymod_form($form, &$form_state, $vars)
{
// ...
$form['#attributes'] = array('id'=>array('mymodform_'.$vars['iFormCounter']));
// ...
$form['text'] = array(
'#type' => 'textfield',
'#required' => TRUE,
);
$form['geheim'] = array(
'#type' => 'hidden',
'#value' => $vars['sSecret'],
);
// ...
}
Nun hab ich ca. 10 Formulare auf meiner Seite. Wenn ich aber z.B. in Formular 5 was eintrage, nimmt er trotzdem die Parameter aus dem ersten Formular. So sieht der Submit aus:
function mymod_form_submit($form, &$form_state)
{
//...
$values = $form_state['values'];
$values['geheim']; // <==== PROBLEM: ER NIMMT IMMER DEN WERT AUS DEM ERSTEN FORMULAR
//...
}
- Anmelden oder Registrieren um Kommentare zu schreiben
hook_forms() gibt es auch
am 04.04.2013 - 11:05 Uhr
hook_forms() gibt es auch noch, vielleicht klappt es damit.
Gruß
Christian
Du benötigst den hook_forms()
am 04.04.2013 - 11:22 Uhr
Du benötigst den hook_forms() um dein Problem behoben zu bekommen.