Strona 1 z 1

Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 14:42
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?

Re: Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 16:18
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 :)

Re: Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 17:11
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 :).

Re: Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 17:35
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".

Re: Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 18:51
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?

Re: Odświeżanie po zamianie danych.

Napisane: piątek, 16 listopada 2012, 23:14
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.

Re: Odświeżanie po zamianie danych.

Napisane: czwartek, 17 lipca 2014, 09:54
przez modelmt87r
zgadzam się z kolegą