Callback ‚updateFormSubmitted‘ is not callable

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tttpapi
Člen | 100
+
0
-

Mám formulář, který je vytvářen dynamicky podle počtu položek a na něj navázaný callback.
Pokud se však formulář odešle, tak to hlásí „Callback ‚updateFormSubmitted‘ is not callable.“
Smažu-li podmínku na pole pro foreach, tak to hlásí špatný parametr pro foreach.
Ať tak či tak, callback se mi vůbec neprovede.

Kód je celý v presenteru. Původně byl v controlce, ale tam to házelo stejnou chybu.

public function createComponentUpdateForm() {
    $form = new Nette\Application\UI\Form();
    $i = 0;
    if ($this->formFillPercentageArray) {
        foreach ($this->formFillPercentageArray as $item) {
                $form->addHidden('id'.$i)->setValue($item['id']);
                $form->addText('percentage'.$i, $item['name'])->setValue($item['percentage']);
                $form->addCheckbox('is_used'.$i)->setValue((($item['is_used'] == 1) ? TRUE : FALSE));

                $i++;
        }
    }
    $form->addSubmit('submit', 'Uložit');
    $form->onSuccess[] = callback('updateFormSubmitted');
    return $form;
}

public function updateFormSubmitted($form) {
    dump($form->getValues);
}
{control updateForm}
JakubTN
Bronze Partner | 49
+
0
-

Skus takuto upravu:

public function createComponentUpdateForm() {
    ...
    $form->addSubmit('submit', 'Uložit');
    $form->onSuccess[] = callback($this, 'updateFormSubmitted');
    return $form;
}
...
tttpapi
Člen | 100
+
0
-

Jo, to jsem tam měl v controlce a pak jsem to tam po pokusech zapomněl vrátit.
V controlce to nepomohlo, presenteru už to ale funguje, tak to holt nechám v něm.
Ale teď mi to zase nedokáže vzít hodnoty z formuláře a píše to

„Cannot read an undeclared property Nette\Application\UI\Form::$getValues.“

To už bych zvládl teda obejít, ale stejně mi zajímá, co je tu špatně.

Melmen
Člen | 132
+
0
-
dump($form->getValues());

:)