Odświeżanie po zamianie danych.

Dział poświęcony JavaScriptowi - tworzeniu dynamicznym stron WWW.
neytiri
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 2 marca 2012, 01:10

Odświeżanie po zamianie danych.

Post przez neytiri »

Mam problem z ogarnięciem tematu odświeżania danych.
Użytkownik z listy wybiera sobie pozycję do edycji. Otwiera mu się okienko.
Czy prawidłowym podejściem odnośnie odświeżania danych będzie zapisywanie danych wprowadzonych przez użytkownika do sesji i bieżące odczytywanie ich w miarę potrzeby.
Myślałam, aby podczepić się odpowiednio onblur lub onchange w zależności od rodzaju pola input czy select.
Nie mam doświadczenia w tej kwestii?
Jak wy rozwiązujecie taki problem na waszych stronach?

Czy w okienku można dobrać się do tablicy $_SESSION?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Odświeżanie po zamianie danych.

Post przez Morfidon »

Zakładam, że chodzi Ci o zapis danych w formularzach / ew. wybranych elementów tak, aby nie były tracone i nie musiał wpisywać je ponownie.

Jeśli oto Ci chodzi to tak jest to prawidłowe rozwiązanie, aczkolwiek lepiej by było zapisać dane w cookies przy pomocy javascript.

Aczkolwiek najłatwiejszym i czytelniejszym sposobem jest skorzystanie z nowego localStorage, który omawiam w kursie html 5. Jeszcze kursu nie ma, ale niedługo już będzie :)
neytiri
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 2 marca 2012, 01:10

Re: Odświeżanie po zamianie danych.

Post przez neytiri »

Tak, ale mam problem, bo to nie jest okienko do wprowadzania nowych danych, ale do edycji?

Jak sobie ładuję dane z bazy i wrzucam je do $_SESSION jest ok, potem użytkownik sobie zmienia je i zakładam, że jeszcze nie wybrał zapisu danych a z jakiegoś powodu odświeżył stronę i dane znikają, bo oczywiście znowu zostały wczytane dane z bazy, które nie zostały uaktualnione.
Czy da się to jakoś obejść, czy powinnam przy updatowaniu od razu updatować w bazie, co w sumie może być mylące dla użytkownika, bo może nie chce ich zapisywać.

Masz jakiś pomysł?

Oczywiście czekam na kurs :).
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Odświeżanie po zamianie danych.

Post przez Morfidon »

Wiesz ja to robię tak, że obsługuję zdarzenie "onkeyup" na każdym polu i zapisuje odpowiednio dane do cookies / ew. localStorage. Gdy użytkownik odświeży stronę lub powróci na nią to wywołuje funkcję, która sprawdza czy istnieją już odpowiednio cookies / localStorage, jeśli istnieją to wpisuje odpowiednie wartości, jeśli nie to wpisuje inne, czyli np. z bazy danych ew. domyślne.

Jeśli formularz jest wysyłany i chcesz zapisać po prostu stan np. selecta (opcji wyboru) to zapisujesz sobie w cookies który z nich był wybrany i na tej podstawie możesz ustawić atrybut odpowiedniej wartości z polu wyboru atrybut: "selected".
neytiri
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 2 marca 2012, 01:10

Re: Odświeżanie po zamianie danych.

Post przez neytiri »

Ok, zaraz spróbuję z tym cookies.

Masz jeszcze pytanko odnośnie okna, tzw. opener'a.
Nie wiem jak odświeżyć dane na liście, które pokazuje opener.
Po zapisaniu danych po prostu napisałam : opener.submit(); ale to nie powoduje odświeżenia danych na oknie rodzicu, czemu?
A jak Ty to robisz?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Odświeżanie po zamianie danych.

Post przez Morfidon »

To zrób to ręcznie ;) od tego masz takie możliwości jak pobranie wartości i ich zmian przy pomocy javascript.
modelmt87r
Nowicjusz
Posty: 2
Dołączył(a): czwartek, 17 lipca 2014, 09:14
Contact:

Re: Odświeżanie po zamianie danych.

Post przez modelmt87r »

zgadzam się z kolegą
Post Reply