addCheckbox – jak po onClicku na checkbox zobrazit vstupní pole neco jako „addText“

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

zdravím nettíci
řeším jak ve formuláři který obsahuje několik addCheckboxů po kliknutí na jakýkoliv z nich zobrazit vstupní pole addText.
Výsledek by měl vypadat, že uživatel klikne na checkbox vedle něj se zobrazí pole kde vepíše potřebný text.

duke
Člen | 650
+
0
-

Buď můžeš použít metodu toggle, nebo si to odkrývání pořešit sám přes css a javascript.

Příklad s toggle:

$form->addCheckbox('set_password', 'set new password')
	->addCondition($form::EQUAL, TRUE)
		->toggle('newPassword');

$form->addGroup()
	->setOption('container', Html::el('div')->id('newPassword'));

$form->addPassword('password', 'Password')
	->addConditionOn($form['set_password'], $form::EQUAL, TRUE)
		->addRule($form::FILLED, 'Provide password.')
		->addRule($form::MIN_LENGTH, 'The password must have at least %d letters.', 8);
ZAJDAN
Člen | 45
+
0
-

DÍKY MOC

$$form->addGroup()
      ->setOption('container', Html::el('div')->id('timeOpen'));
$form->addCheckbox('pondeli', 'Pondělí:')
     ->addCondition($form::EQUAL, TRUE)
     ->toggle('timeOpen');
......

$form->addText('time', 'time')
      ->addConditionOn($form['pondeli'], $form::EQUAL, TRUE);
....

jen je problém že addText time se mi vykresli i když Checkbox pondeli neni oznacen(vybrán)

Editoval ZAJDAN (12. 3. 2012 18:48)

ZAJDAN
Člen | 45
+
0
-

uz to facha..zapomeli jsme nahodit:

<script type="text/javascript" src="{$basePath}/js/netteForms.js"></script>

Editoval ZAJDAN (12. 3. 2012 19:46)

duke
Člen | 650
+
0
-

Ten řádek

->addConditionOn($form['pondeli'], $form::EQUAL, TRUE);

… má smysl jen pokud za ním následují nějaká pravidla přidaná přes addRule. Jde o to, aby se ta případná pravidla aplikovala jen v případě, že je ten input zobrazen. Čili pokud tam žádná pravidla nemáš (jako ve tvém příkladě), tak ho úplně vyhoď.