Autor | Zpráva | ||
---|---|---|---|
Lamicz Profil |
#1 · Zasláno: 2. 6. 2013, 23:00:51
Zdravím,
mám udělán univerzální "autosave" formulářů, kde se serializují form data a ukládají do DB. Při načtení této zálohy procházím jednotlivé názvy inputů a plním je uloženými daty. To funguje v pohodě. problém nastává pokud je formulář "dynamický", tzn. má na sobě události. To jsem vyřešil tak, že pi každém nastavení hodnoty provedu .trigger('change') a tím se provede přislušný JS.
Problém je ale s tím, pokud událost vrátí další prvek formuláře, např. checkbox. Než totiž se data objeví v DOM, skript je v cyklu už o 3 elementy dál a nezaškrtne daný checkbox. Řešení jsem našel zatím dvě: 1) umělé spomalení v cyklu přes setTimeout, tm se stačí provést ten AJAX, ale logicky to HODNË brzdí ten load (hlavně na hodně inputech) 2) všechny AJAXy na elementech formů nastavit jako sync, což je a) z principu fuj, b) zpomaluje browser, c) bude zrušeny (je deprecated), protože A je Asynchronous :) Ideál by byl něco jako callback k fci .trigger() , ale to neexistuje.
Napadá někoho něco? Dík |
||
joe Profil |
#2 · Zasláno: 2. 6. 2013, 23:10:10
Vůbec jsem to nepochopil, neměl bys někde živou ukázku?
Lamicz: „Problém je ale s tím, pokud událost vrátí další prvek formuláře“ Proč by událost měla vracet nějaký prvek? |
||
_es Profil |
#3 · Zasláno: 3. 6. 2013, 11:03:24
Lamicz:
Zrejme máš celý návrh „logiky“ aplikácie nesprávne a skúšaš to naprávať to rôznymi pochybnými „záplatami“. Skús nejako zrozumiteľne popísať, čo by to malo robiť. |
||
Časová prodleva: 11 let
|
0