hook_form_alter a získání hodnoty z formuláře
Ahoj, potřeboval bych po odeslání formuláře pouze přesměrovat na URL adresu v drupalu s parametry, které získám z vyplněného formuláře. Zjistil jsem, že se používán hook_form_alter, ale nedaří se mi získat hodonoty z formuláře. Zkoušel jsem form_state[‚values‘][‚pracdoba_od‘] jako u _submit, ale nefungovalo to. Následující kód by měl napovědět. Děkuji za každou radu.
Ondra function userform_period_prdoba() {
$form[‚pracdoba_od‘] = array(
‚#type‘ ⇒ ‚date_popup‘,
‚#title‘ ⇒ ‚Pracovní doba od‘,
‚#default_value‘ ⇒ $node[‚datum_od‘],
‚#size‘ ⇒ 60,
‚#description‘ ⇒ t(‚Zadejte období‘)
);
$form[‚pracdoba_do‘] = array(
‚#type‘ ⇒ ‚date_popup‘,
‚#title‘ ⇒ ‚Pracovní doba do‘,
‚#default_value‘ ⇒ $node[‚datum_do‘],
‚#size‘ ⇒ 60,
‚#description‘ ⇒ t(‚Zadejte obodobí‘)
);
$form[‚nepritomnost_pozn‘] = array(
‚#type‘ ⇒ ‚textarea‘,
‚#title‘ ⇒ ‚Nepřítomnost komentář‘,
‚#default_value‘ ⇒ $node[‚poznamka‘],
‚#size‘ ⇒ 60,
‚#maxlength‘ ⇒ 64,
‚#description‘ ⇒ t(‚Komentář nepřítomnosti‘)
);
$form[‚pracdoba_submit‘] = array(
‚#type‘ ⇒ ‚submit‘,
‚#value‘ ⇒ t(‚Zobrazit pracovní dobu‘)
);
return $form; }
function pracovnidoba_form_alter(&$form, $form_state, $form_id) {
$od = $form[‚nepritomnost_pozn‘];
switch ($form_id) {
case ‚userform_period_prdoba‘:
$od = $form_values[‚nepritomnost_pozn‘];
//$od = „d“;
$form[‚#redirect‘] = ‚pd_uzivatel/prehled-prdoba/‘.$od.‚/1‘;
break;
} }

hook_form_alter se volá při
hook_form_alter se volá při konstrukci formu. Pokud potřebuješ reagovat na odeslaný položky, musíš v userform_period_prdoba_submit
Děkuji, to vše vysvětluje.
Děkuji, to vše vysvětluje.
kdyby jsi chtel v budoucnu
kdyby jsi chtel v budoucnu ovlivnovat priste form, ktera je v jinem modulu a chtel ziskat hodnoty, tak muzes pomoci form_alter pridat #submit, kde specifikujes vlastni submit funkci, ktera se zavola po odeslani formulare
viz. http://api.drupal.org/…rence.html/6#…
V hook-form_alter mas zle
V hook-form_alter mas zle argumenty. namiesto &$form, $form_state, $form_id to ma byt $form, &$form_state, $form_id. A $od = $form[‚nepritomnost_pozn‘]; by malo najskor byt $od = $form[‚nepritomnost_pozn‘][0][‚value‘];
Poslat nový komentář