Select po odeslání formuláře vrací null v getValues
- Rudolf247
- Člen | 38
Dobrý den, mám problém ze selectem, největší záhadou je to že před měsícem to fungovalo, potom se v presenteru předělávalo pár věcí, ale konkrétně na funkce ohledně zpracování tohohle formuláře se nesahalo.
Když odešlu formulář mám v dumpu z getValues hodnotu NULL, hledal jsem řešení zde na fóru, kde se řešil stejný problém. Moc mi to nepomohlo, ale je mi záhadou, že to přestalo fungovat samo od sebe.
Stará verze byla:
protected function createComponentControlForm(){
$form = new Form($this, 'controlForm');
$form->addDynamic('changeEmployee', function(Container $chng_emp){
$chng_emp->addSelect('selectEmp', NULL, $this->emp);
});
$form->addMultiUpload('files');
$form->addSubmit('_add', 'Přidat požadavek')
->setAttribute('class', 'btn btn-primary button');
$form->addSubmit('_back', 'Zpět')
->setAttribute('class', 'btn btn-info button')
->setAttribute('onclick', 'history.back()');
$form->onSubmit[] = array($this, 'taskFormAdd');
}
public function taskFormAdd(Form $form){
$section = $this->getSession('addTask');
$section->control_emp = $form->getValues();
}
$this->emp získávám z první komponenty (je to vícekrokový formulář)
Teď mě ještě napadlo, jestli to nemůže být pořadím, jak jsou
komponenty a funkce v presenteru sestaveny
takže:
1, startup
2, 1. kompononta kde ukládám do $this->emp možnosti
3, zpracování 1. komponenty
4, 2. komponenta
5, zpracování 2. komponenty
6, render
Nová verze:
protected function createComponentControlForm()
{
$form = new Form($this, 'controlForm');
$form->addDynamic('changeEmployee', function (Container $chng_emp) {
$chng_emp->addSelect('selectEmp', NULL, $this->emp);
}, 1);
$form->addDynamic('changeDate', function (Container $chng_date) {
$chng_date->addDynamic('subDate', function (Container $sub_date) {
$sub_date->addText('empFrom');
$sub_date->addText('empTo');
$sub_date->addText('empToTime');
$sub_date->addText('empFromTime');
}, 1);
}, 1);
$form->addMultiUpload('files');
$form->addSubmit('_add', 'Přidat požadavek')
->setAttribute('class', 'btn btn-primary button');
$form->addSubmit('_back', 'Zpět')
->setAttribute('class', 'btn btn-info button')
->setAttribute('onclick', 'history.back()');
$form->onSubmit[] = array($this, 'taskFormAdd');
return $form;
}
/**
* @param $form
* @var $section
*/
public function taskFormAdd(Form $form)
{
$section = $this->getSession('addTask');
$section->control = $this->temp_control = $form->getValues(TRUE);
}
1, statup
2, render
3, zpracování 1. komponenty
4, 1. kompononta kde ukládám do $this->emp možnosti
5, zpracování 2. komponenty (zkoušel jsem zaměnit s 6,)
6, 2. komponenta (zkoušel jsem zaměnit s 5,)
Nevíte někdo čím to může být? Děkuji.