Condition a akce na formuláři

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

Mám formulář, který vypadá přibližně takto:

$form = new Form();
$form->addCheckbox("optional", "Vyplňovat");
$form->addText("text", "Text")
	->addConditionOn($form["optional"], Form::EQUAL, true)
		->addRule(Form::FILLED)
		->addRule(Form::MIN_LENGTH, 'Minimální délka %label je %d.', 5)
	->elseCondition()
		// tady neumím udělat to, co chci:
		// ->setDisabled();
		// ale nemám kde vzít $form...
	->endCondition();

Co to má dělat? Když je políčko zaškrtnuto, tak t u textinputu text hlídá nějaké věci, pokud není zaškrtnuta, tak je to políčko víceméně ignorováno.

Nicméně já bych rád udělal efekt (v té podmínce) obdobný přibližně tomuto:

$form->addText("text", "Text")
	->setDisabled();

Lze to? Chápu, že mohu použít například Replikátor formulářových kontejnerů $form->addDynamic() , ale já to nepotřebuji často a rád bych udržel, co největší jednoduchost a nezávislost na doplňcích.

enumag
Člen | 2118
+
0
-

Nic takového v Nette nejde, na to budeš potřebovat vlastní JS.