Proměnlivé formuláře (přidávání nových prvků na základě již vyplněných)
- Gerlige
- Člen | 1
Ahoj,
jsem nový tady i mezi Nette. Píši svou první aplikaci a narazil jsem na
problém, který nevím jak řešit. Potřebuji formulář, ve kterém by se
proměnlivě měnily prvky na základě již vyplněných prvků. (Po vyplnění
jednoho textového pole přibude další apod.)
Je možné, že už je to tu někde řešené a jen jsem to někde minul, potom
bych byl vděčný za nasměrování.
- blonboll
- Člen | 2
mm-marek napsal(a):
Velice šikovný addon. Ale nevím jak mám v šabloně nastylovat vytvořený formulář. Níže uvedená šablona nefunguje. Prosím o radu a nebo jakékoliv nasměrování. Předem díky
{form myForm}
{input name}
{input vek}
{/form myForm}
- tomasnikl
- Člen | 137
ja bych mel podobny dotaz,
v presenteru jsem pouzit addDynamic:
$form->addDynamic('users', function (Container $user) {
$user->addText('name', 'Jméno');
$user->addText('surname', 'Příjmení');
}, 2);
a kdyz chci formular vypsat rucne:
{form mujFormular}
{input users}
{/form}
tak mi to vyhodi chybu:
Call to undefined method Kdyby\Forms\Containers\Replicator::getControl().
kdyz ovsem vypisi formular {control mujFormular}, tak jde vse v poradku…
jak tedy vypisovat rucne i prvky pridane pres addDynamic?
- Ot@s
- Backer | 476
tomasnikl napsal(a):
jak tedy vypisovat rucne i prvky pridane pres addDynamic?
Šablona (psáno z hlavy, netestováno)
{$myform->render('begin')}
<!-- ... -->
<ul n:foreach="$myForm['users']->getComponents() as $f">
<li>{$f['name']->control} {$f['name']->label} {$f['surname']->control} {$f['surname']->label}</li>
</ul>
<!-- ... -->
{$myform->render('end')}
Presenter
$this->template->myform = $this['myForm']; // predpoklada existenci createComponentMyForm s def. formulare
Editoval Ot@s (21. 11. 2011 7:21)