isSubmitted() vrací pouze true

Laxren
Backer | 23
+
0
-

Zdravím,

nemohu zjistit z jakého tlačítka se mi odeslal formulář.
isSubmittedBy() mi vrací u všeho false. Myslím, že to je tím, že $form->isSubmitted() vrací true a ne objekt. Tenhle problém mám jen u jednoho projektu – u dalších to je v pohodě.. Zkusil jsem aktualizovat nette, balíčky, js knihovny.. a porovnal jsem i projekty, ale na nic jsem nepřišel.

Mám jednoduchý formulář..

<?php
    protected function createComponentBoboboForm()
    {
        $form = new Nette\Application\UI\Form;
        $form->addCheckbox('one', 'Jedna');
        $form->addCheckbox('two', 'Dva');

        $form->addSubmit('acceptAll', 'Přijmout vše');
        $form->addSubmit('acceptSelected', 'Přijmout vybrané');
        $form->onSuccess[] = [$this, 'boboboFormSucceeded'];
        return $form;
    }

    public function boboboFormSucceeded($form, $values)
    {
		dump($form['acceptAll']->isSubmittedBy()); //false
		dump($form['acceptSelected']->isSubmittedBy()); //false
	}
?>

Napadá, prosím, někoho něco ?

Editoval Laxren (6. 1. 2022 16:24)

Milo
Nette Core | 1283
+
+3
-

To se může stát, když formulář odešleš javascriptem, bez kliku na tlačítko. Namísto toho můžeš vyvolat click událost na konkrétní tlačítko.

Laxren
Backer | 23
+
0
-

Funguje, bylo to, jak jsi říkal. Měl jsem za to, že jsem ho zkoušel dával pryč, ale nejspíš jsem pořádně nepročistil cache…

Moc díky.