Odeslání formuláře s disabled prvky
- JaxP
- Člen | 62
Dobrý den,
potřebuji vytvořit dynamický formulář, který vždy bude mít alespoň
jeden prvek disabled (pokud je v selectu ANO, bude disabled prvek 1, pokud bude
v selectu NE, bude disabled prvek 2). Ty prvky, které budou disabled
nepotřebuji odesílat.
Bohužel jakmile je alespoň jeden prvek disabled, tak
$form->onSuccess[]
nefunguje (nebo-li neprovede se).
Jak se toto dá obejít? Není zde možnost např. něco jako onSubmit nebo…?
DĚkuji
- JaxP
- Člen | 62
Vyřešeno:
Lze odeslat formulář formou:
$form->onSubmit[] = array($this, 'nazevSucceded');
Jenom je poté potřeba si dávat pozor u callbacku (‚nazevSucceded‘),
který nyní nedostane argumenty ($form, $values)
ale pouze
($form)
bez values. Values lze následně vytáhnout metodou
$form->getValues()
a hodnota disabled prvků je NULL.
Editoval JaxP (21. 7. 2016 11:41)
- GEpic
- Člen | 566
JaxP napsal(a):
Vyřešeno:
Lze odeslat formulář formou:$form->onSubmit[] = array($this, 'nazevSucceded');
Jenom je poté potřeba si dávat pozor u callbacku (‚nazevSucceded‘), který nyní nedostane argumenty($form, $values)
ale pouze($form)
bez values. Values lze následně vytáhnout metodou$form->getValues()
a hodnota disabled prvků je NULL.
Proto tahám values
z $form vždy :D
- JaxP
- Člen | 62
CZechBoY napsal(a):
Nejsou ve formulari chyby kdyz k onSuccess udalosti nedojde?
Formulář pro dané „disabled“ prvky nemá žádné pravidla (tzn. nemusí být vyplněn, nemusí být číslo…), takže formulář nevrací chybu.
Na základě w3 – disabled controls „Disabled controls cannot be successful.“ usuzuji, že Nette poté nebere formulář jako successful.
Pokud je to jinak, tak budu rád za doplnění info :)