invalidateControl() a nefunkční toggle

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

Ahoj, používám Nette 2.0, ve formuláři mám několik závislých selectboxů a zároveň používám toggle ve stylu:

$form->addCheckbox("active0", "Activate section 0")
                    ->addCondition(UI\Form::EQUAL, TRUE)
                    ->toggle("section0");
/* section 0 */
//...
$form->addSelect('year0', 'Vehicle Year', $this->getYears())
                    ->setPrompt("Please select a year.")
                    ->addRule(UI\Form::FILLED, "Please provide a year.");

$form->addDependentSelectBox('make0', 'Make', $form["year0"], callback($this, "getMakes_sec0"))
                    ->setPrompt("Select make.");
if ($this->presenter->isAjax()) {
	$form["make0"]->addOnSubmitCallback(callback($this, "invalidateControl"), "formSnippet");
}

//...

$form->addCheckbox("active1", "Activate section 1")
                    ->addCondition(UI\Form::EQUAL, TRUE)
                    ->toggle("section1");
/* section 1 */
//...
$form->addSelect('year1', 'Vehicle Year', $this->getYears())
                    ->setPrompt("Please select a year.")
                    ->addRule(UI\Form::FILLED, "Please provide a year.");

$form->addDependentSelectBox('make1', 'Make', $form["year1"], callback($this, "getMakes_sec1"))
                    ->setPrompt("Select make.");
if ($this->presenter->isAjax()) {
	$form["make1"]->addOnSubmitCallback(callback($this, "invalidateControl"), "formSnippet");
}

Když vyberu rok v prvním selectu v sekci 0 (year0), všechno běží, ale zobrazí se celý formulář, nezávisle na hodnotách checkboxů activate. Předpokládám, že invalidace snippetu prostě vše překleslí a ignoruje toggle. poradí mi někdo, jak to opravit?

David Grudl
Nette Core | 8144
+
0
-

Jde o to, že část formuláře nahráváš přes AJAX?