Při ajaxovém volání se neukládají hodnoty formuláře do session
- CZechBoY
- Člen | 3608
Zdravím,
po několikahodinové debugování to vzdávám a prosím vás o radu.
Ve zkratce: mám filtrovací formulář, jehož hodnoty se ukládají
(onSuccess) do session a při obyč (!isSubmitted()) načtení stránky se
naplní hodnotama ze session.
Potom se (opět v onSuccess) a obnoví (redrawControl) se tabulka s daty
(i formulářem, který má správně nastavené hodnoty).
…
Zjistil jsem, že když odešlu formulář bez ajaxu (ctrl+klik na submit
tlačítko) tak se vše uloží ok a načte taky.
Pokud použiju ajaxové volání tak se jakoby session neuloží.
Nevíte prosím, kde by mohla být ta drobná chybka?
Díky
edit: kod smazán, chyba byla jinde
Editoval CZechBoY (2. 12. 2015 12:04)
- CZechBoY
- Člen | 3608
Tak jsem na to přišel.
Myslel jsem si, že
$presenter->getParameters()
vrací parametry jen pro presenter (a nikoliv komponenty), takže jsem blbě sestavil klíč pro konkrétní formulář na stránce.
Nakonec jsem použil
$presenter->getRequest()->getParameters()
a vyfiltroval parametry, které obsahují IComponent::NAME_SEPARATOR.
Editoval CZechBoY (2. 12. 2015 12:14)
- David Matějka
- Moderator | 6445
$presenter->getParameters()
by mel obsahovat pouze parametry
pro presenter. Co tam bylo navic?
- CZechBoY
- Člen | 3608
POST z formuláře, který je v komponentě, která je v komponentě,
která je v komponentě (nebo tak nějak :D)
POST data ze skoro prázdné formuláře (nastavené jen type[]):
Content-Disposition: form-data; name="from"
Content-Disposition: form-data; name="to"
Content-Disposition: form-data; name="type[]"
1
Content-Disposition: form-data; name="id_s_user"
Content-Disposition: form-data; name="browser"
Content-Disposition: form-data; name="os"
Content-Disposition: form-data; name="_token_"
aeucyexkilLaKR7KAFTVQSMaa/M3Vz2fL7fxs=
Content-Disposition: form-data; name="do"
actions_table-filtersForm-form-submit
Content-Disposition: form-data; name="send"