Adddynamic a addconditionsOn

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

Můžete my někdo pomoci jak zavolat podmínku na jiný prvek v addDynamic. př.:

<?php
$ucastnici = $form->addDynamic('ucastnici', function (Container $ucastnik) {
$ucastnik->addCheckbox('Zamestnan6m', 'Jsem zaměstnán(a) déle než 6 měsíců');
        $ucastnik->addDatePicker('Zamestnan6mOd', 'od')->addConditionOn($form['Zamestnan6m'], Form::EQUAL, True)->addRule(Form::FILLED, 'Zadejte datum od');
......
?>

Takto my to vypíše Undefined variable: form.

jiri.pudil
Nette Blogger | 1032
+
0
-
$ucastnici = $form->addDynamic('ucastnici', function (Container $ucastnik) use ($form) {
...
David Ďurika
Člen | 328
+
0
-

alebo:

<?php
$ucastnici = $form->addDynamic('ucastnici', function (Container $ucastnik) {
	$form = $ucastnik->getForm();
?>
rumcais1
Člen | 81
+
0
-

Nějak mi to nefunguje zkusím sem dát větší část kódu:

<?php
function createComponentMyForm()
	{
		$form = new Form;
		$form->addHidden('IDBytu');
		$form->addText('Adresa', 'Adresa');
		$form->addText('CisloBytu', 'Byt');
		$form->addText('Plocha', 'Podlahova plocha');
		$form->addText('PrihlaskuDo', 'Přihlášku podat do');
		$ucastnici = $form->addDynamic('ucastnici', function (Container $ucastnik) use ($form){
        		$ucastnik->addText('Prijmeni', 'Příjmení')->addRule(Form::FILLED, 'Zadejte vaše příjmení');
                	$ucastnik->addCheckbox('Zamestnan6m', 'Jsem zaměstnán(a) déle než 6 měsíců');
        		$ucastnik->addDatePicker('Zamestnan6mOd', 'od')->addConditionOn($form['Zamestnan6m'], Form::EQUAL, True)->addRule(Form::FILLED, 'Zadejte datum od');
....
?>

Teď mi to hlásí Component with name ‚Zamestnan6m‘ does not exist.

redhead
Člen | 1313
+
0
-

Nemá to být náhodou $ucastnik['Zamestnan6m']? $form nevlastní tento prvek, ale $ucastnik ano.

Editoval redhead (18. 2. 2013 21:37)

rumcais1
Člen | 81
+
0
-

Díky už to funguje.