Jedna funkce createComponentForm() pro více formulářů na stránce
- DETAIL
- Člen | 33
Ahoj
udělal jsem si v HTML acordeon, kde chci vypisovat nastavení a možnost
úpravy pro x zařízení (počet zařízení není pevný). Každé zařízení
má stejný formulář, jenom se má lišit hiddenID. A nevím jak to udělat
dynamicky.
Jde o základní inputy. Chci aby na to fungovalo i NetteForm a aby to šlo
poslat přes NAJU.
Děkuji za rady.
Editoval DETAIL (5. 7. 2021 11:28)
- DETAIL
- Člen | 33
Moc děkuju,
to bude asi ono.
Rozumím tedy tomu, že vlastně mám použít místo toho formuláře co
mám tento
protected function createComponentDeviceForm(): Multiplier
{...
$form->addHidden('itemId', $itemId);
A v latte použít ten foreach a {control „shopForm-$item->id“}, problém ale je, že já nepoužívám generování toho formuláře, ale mám přímo html a v něm n:form=„DeviceForm“, dá se to použít i takto?
Editoval DETAIL (5. 7. 2021 14:56)
- jiri.pudil
- Nette Blogger | 1032
Mělo by to myslím fungovat obdobně:
<form n:form="DeviceForm-$item->id">
- DETAIL
- Člen | 33
No mám problém, že sice formulář se načte správně, ale jakmile dám
Uložit, tak se načte stránka znovu a v URL je toto
..&_do=formChangeCoordinates-3-submit#
Ale nic to neudělá
protected function createComponentFormChangeCoordinates(): Multiplier
{
return new Multiplier(function ($ID_stanoviste) {
$form = new Form;
//...
$form->addSubmit('save', 'Uložit');
$form->onSuccess[] = [$this, 'formChangeCoordinatesSucceeded'];
return $form;
});
}
public function formChangeCoordinatesSucceeded(Form $form, $data): void
{
Debugger::dump($data);
}
Editoval DETAIL (5. 7. 2021 17:52)