Překreslení snippetu javascriptem

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

Je nějaká možnost, jak jednoduše zavolat něco jako redrawControl($snippetName) javascriptem? Jde mi o to, že v bootstrap tabech chci vždy obnovit výchozí nastavení.

Jediné, co mě napadá je volat z JS handle metodu přímo na presenteru, ale pokud ta handle nebude obsahovat nic víc, než to redrawControl, nešlo by to bez ní?

Používám samozřejmě vojtech-dobes/nette.ajax.js. Díky.

David Matějka
Moderator | 6445
+
0
-

budes si muset tu handle metodu napsat, jine reseni me nenapada

Šaman
Člen | 2659
+
0
-

Jj, díky, nakonec jsem si ji dopsal. Je univerzální, akceptuje jako volitelný parametr název snippetu. Jen jsem doufal, že by to šlo nějak bez requestu, protože se jedná o poměrně velkou stránku s velkým počtem komponent a překreslovat potřebuji vždy jen jeden formulář a navíc do původního nastavení.

David Matějka
Moderator | 6445
+
+2
-

tak alternativou by bylo to vyresit pouze v js, ze by sis ulozil po nacteni stranky vychozi stav – treba kopii html

CZechBoY
Člen | 3608
+
0
-

Nešlo by použít resetování formuláře do výchozího stavu?

form.reset();
iguana007
Člen | 970
+
0
-

CZechBoY napsal(a):

Nešlo by použít resetování formuláře do výchozího stavu?

form.reset();

Pokud by tam měl nějaké přednačtené hodnoty, tak ne, toto ti ten form komplet vyčistí… spíš bych šel do té varianty co popsal @DavidMatějka, tj. při načtení stránky si uložit form v javascriptu do proměnné a v případě potřeby jej nahradit původní instancí…

Editoval iguana007 (22. 1. 2016 13:36)

CZechBoY
Člen | 3608
+
0
-

@iguana007
Pokud to nedonačítám javascriptem tak mi po resetu zůstane to co je v html atributech při úvodním načtení stránky.
https://jsfiddle.net/6jjfyyeb/

iguana007
Člen | 970
+
0
-

CZechBoY napsal(a):

Omlouvám se, máš recht, když je value u inputu vyplněná, tak ji reset vrací na původní hodnotu

Šaman
Člen | 2659
+
0
-

Díky za tipy. Zatím jsem to vyřešil tím zavoláním handle metody. Je to univerzální, nemusím rozlišovat, co je v jakém panelu. Pokud by se projevil problém s výkonem, tak bych zkusil resetovat formulář (a flashmessage, případně validační errory).