Odśwież - jakie zdarzenie obsłużyć? |
Odśwież - jakie zdarzenie obsłużyć? |
10.09.2012, 20:42:06
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) |
Jaki jest sposób na przejęcie zdarzenie - odśwież w przeglądarce?
Chciałabym, aby mój formularz po odświeżeniu strony załadował wprowadzone wcześniej dane, tak , aby użytkownik ich nie utracił. Pewnie wiele razy już coś takiego robiliście. |
|
|
10.09.2012, 21:09:49
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
Chyba tylko pod IE.
http://www.quirksmode.org/dom/events/load.html To nie jest dokładnie to ale bardzo blisko. Ten post edytował wNogachSpisz 10.09.2012, 21:13:14 |
|
|
10.09.2012, 21:11:59
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) |
Wprost się nie da. Zapisz te dane w przeglądarce( http://blog.kukawski.pl/2009/05/09/przecho...tronie-klienta/ ) przy zdarzeniu wyjścia ze strony( onUnload ). Następnie przy zdarzeniu wejścia na stronę( onLoad ) sprawdź czy istnieją te zapisane dane i jeżeli tak to je wczytaj do formularza( metody DOM-owskie )
-------------------- |
|
|
10.09.2012, 21:43:53
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) |
Dzięki , znalzłam coś takiego :
[jquery] if (!window.onload) { alert ('przeładowanie strony'); } else { alert('Clean up'); } [/jquery] Czyli za każdym razem jak będzie zdarzenie submit, odświeżenie to wyskoczy alert "Przeładowanie strony", ale kiedy ale zobaczę drugi alert? Ja dane zapisuję sobie do tablicy $_SESSION, czy tak się robi? Rozumiem, że wtedy przy onload muszę sorawdzić postem, czy mam jakieś dane w tej tablicy i na tej podstawie odtworzyć sobie formularz z danymi? Czy przez jquery jest jakiś inny sposób? Ten opisany DOM Storage pewnie jest zbyt trudne dla początkującej osoby. |
|
|
10.09.2012, 23:09:38
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) |
Napisałem Ci jak to zrobić. Czego ode mnie oczekujesz? Że napiszę to za Ciebie - raczej nie. Zastosuj się do moich porad i w trakcie pisania tego skryptu pytaj w razie wątpliwości.
Cytat znalzłam coś takiego Jakaś bzdura kodowa Cytat Czyli za każdym razem jak będzie zdarzenie submit, odświeżenie to wyskoczy alert "Przeładowanie strony", ale kiedy ale zobaczę drugi alert? Zależy od reszty kodu, ale tak się nie pisze, więc dla zwykłego śmiertelnika - nigdy Cytat Ja dane zapisuję sobie do tablicy $_SESSION, czy tak się robi? $_SESSION to tablica w PHP. A tu masz JS. Mógłbyś połączyć PHP z JS( przez AJAX). Cytat Rozumiem, że wtedy przy onload muszę sorawdzić postem, czy mam jakieś dane w tej tablicy i na tej podstawie odtworzyć sobie formularz z danymi? Tak byś musiał zrobić, gdybyś chciał korzystać z PHP( AJAX ). Lepiej zastosować mój pomysł - przynajmniej ja widzę więcej plusów z takiego rozwiązania. Cytat Czy przez jquery jest jakiś inny sposób? jQuery to biblioteka JS. Inaczej mówiąc zbiór funkcji umożliwiający pisanie w prostszy i szybszy sposób. Tak jakbyś napisał czy dojedziesz do Warszawy tylko Oplem( jQuery ), a Ty musisz użyć po prostu auta( JS ) Cytat Ten opisany DOM Storage pewnie jest zbyt trudne dla początkującej osoby. Nie wiem, bo już nie jestem początkującą osobą. Artykuł jest moim zdaniem bardzo dobrze opisany. Ale nie musisz z tego korzystać. Ale musisz znaleźć sposób zapisu danych. Nawet jak bardzo chcesz możesz użyć AJAX i próbować tak jak Ty chciałeś. Ja bym zrobił inaczej, ale tak też nie będzie tragedii . -------------------- |
|
|
11.09.2012, 08:40:00
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) |
Metod przechowywania informacji po stronie jest kilka:
https://github.com/jeremydurham/persist-js Cytat PersistJS (...) currently supports persistent client-side storage through the following backends: flash: Flash 8 persistent storage. gears: Google Gears-based persistent storage. localstorage: HTML5 draft storage. globalstorage: HTML5 draft storage (old spec). ie: Internet Explorer userdata behaviors. cookie: Cookie-based persistent storage. Tylko niestety ta bibliteka czasami jest wykrywana jako wirus a innymi razy crashuje przeglądarkę a Google Gears jest martwe. Ten post edytował wNogachSpisz 11.09.2012, 08:43:21 |
|
|
12.09.2012, 10:20:45
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
sessionStorage (w końcu chodzi o odświeżenie, a nie zamknięcie przeglądarki), było chyba zdarzenie onBeforeUnload i wtedy przy DOMContentLoaded sprawdzasz istnienie danych w SS.
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 10:26 |