Odeslany form a anulovani hodnot inputu

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

Ahoj, potreboval bych poradit s formularem, odeslanim a NEvyplnenim odeslanych hodnot. Mam jednoduchy filtr dat (podle nekolik sloupcu atd), ktery pouziva session namespace. Ve formulari mam dve tlacitka submit a to: ‚Filtrovat‘ a ‚Reset‘. Potreboval bych, aby kdyz se klikne na ‚Reset‘, tak se nevymaze obsah odeslanych inputu ve formu a cely form bude jako default (nevyplneni). To nevim jak udelat. Poradite mi nekdo? Dekuji.

JakubJarabica
Gold Partner | 184
+
0
-

Chápem ťa správne? Vyplníš formulár nejakými dátami a po kliknutí na reset sa z týchto dát majú stať defaultné hodnoty formulára? Ak hej, tak stačí detekovať, akým tlačítkom bol formulár odoslaný a ak to bol reset button, tak získať dáta z formulára pomocou getValues a následne ich nastaviť ako defaultné pomocou setDefaults. Možno som ťa ale nepochopil, nakoľko to, čo požaduješ sa mi zdá zvláštne a nevidím v tom praktické využitie(zatiaľ :)).

jirka_s
Člen | 3
+
0
-

Nn, nerozumime si. Mam filtr dat, ktery se uklada do session namespace (z duvodu prechodu na jinou stranku, tak aby si filtr pamatoval, co se hledalo predtim).

Uvedu priklad:

  • 1. krok: otevru stranku se seznamem faktur,
  • 2. krok: necham si vyfiltrovat pouze ty faktury, kde je odberatel jirka (a kliknu na ‚Filtrovat‘). Po odeslani se zobrazi jen ty faktury, kde je odberatel ‚jirka‘ a ve formulari filtru budou vyplnene inputy. Zaroven se ulozi filtr do session,
  • 3. krok: ted uz chci filtr zrusit ⇒ kliknu na ‚Reset‘ ⇒ musi se zrusit session, musi se vybrat vsechny faktury a formular musi mit prazdne inputy, resp. defaultni hodnoty.

Funguje mi to, ale proste ty inputy se nevymazou.

JakubJarabica
Gold Partner | 184
+
0
-

A mohol by si prosím skopčiť aj metódu spracovania formuláru tým resetom? Zaujímalo by má ako sa snažíš ten formulár vyčistiť. Myslím, že by mohlo stačiť na konci tej metódy volať $form->setValues(array(), TRUE); aby sa vyprázdnil, prípadne obyč. redirect na this si skúšal?