Nastavení defaultních hodnot v onSuccess() metodě
- kleinpetr
- Člen | 480
Ahoj, už z vás někdo řešil tento problém ?
protected function createComponentForm(){
.
.
$form->onSuccess[]=[$this,'saveForm'];
return $form;
}
public function saveForm($form){
$values = $form->getValues();
$this['form']->setDefaults($values);
}
zkusil jsem snad milion způsobů a za boha se mi ten form nenaplní. Když nastavuju default třeba v signálu, tak je to bez problémů, ale v onSuccess(), bez šance.. je mi asi jasné, že to bude souviset s životním cyklem presenteru, ale opravdu nevím jak to vyřešit.. Používám to ve vlastní komponentě. Díky za pomoc
- Martk
- Člen | 661
Hodnoty po odeslání formuláře se nastavují přes
$form->setValues($array);
setDefaults nefunguje, protože po odeslání formuláře nesplňuje podmínku: https://api.nette.org/…ner.php.html#49
- kleinpetr
- Člen | 480
Teď mám ještě problém u radioListu, při vytváření formuláře, mu
nastavím ->setValue('1');
vše funguje, ale pokud je
$form->isSubmited()
tak se prostě hodnota nenaplní.. nemá
někdo tip ? Ale tím teď nemyslím naplnění již odeslaného radioListu,
protože mám form rozdělen na groupy a vždy odešlu jen container formuláře
a vykreslím další container, takže uložím jeden, a v druhém, který
zatím není vidět je radioList, který má setValue(), po odeslání se ale
container zobrazí a radioList je empty, když stránku načtu ručně, tak je
vyplněn.