Przewinięcie strony po odświeżeniu |
Przewinięcie strony po odświeżeniu |
12.10.2017, 12:32:15
Post
#1
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Witam,
mam listę ok 1000 wierszy na jednej stronie. W każdym wierszu znajduje się input i button. Jadę w dół scrolem wybieram wiersz nr 435 wysyłam wpisane dane w konkretnym wierszu strona się przeładowuje i chcę po odświeżeniu być w tym samym miejscu strony na wierszu 435. Jakiej funkcji do tego użyć i w JS mam odwołać się do diva, klasy,id czy jakiejś sekcji? Pozdr |
|
|
12.10.2017, 12:35:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeśli sekcja ma id=sekcja400, to po zapisaniu przekierowujesz na adres: http://domena.pl/index.php#sekcja400
-------------------- |
|
|
12.10.2017, 12:40:20
Post
#3
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
A jeśli każdy wiersz to element tabeli?
|
|
|
12.10.2017, 12:41:35
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
id możesz dowolnemu elementowi przypisać. Chociaż trzeba się zastanowić czy nie lepiej wysyłać te zmiany dynamicznie ajaxem.
-------------------- |
|
|
12.10.2017, 12:50:41
Post
#5
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Aa czaje. Ok już mi przenosi na odpowiednie id po przekierowaniu na: adres#id.
Teraz kolejny problem. na górze mam pasek menu zawsze widoczny który zasłania jakieś 200px góry strony i wiersz do którego mnie przenosi jest zasłonięty. Jest możliwość obniżyć wynik przeniesienia czy to już jest potrzebny skrypt w JS? I za bardzo nie czaje Ajaxa. Nigdy nic w nim nie robiłem. Jak potrzebuje czegoś ruchomego zawsze robię w JS. |
|
|
12.10.2017, 12:55:05
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
12.10.2017, 13:03:10
Post
#7
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Dobra..
zaraz potestuje tego Ajaxa na prostym formularzu. Jeśli to takie proste jak w tym artykule to jestem głupi że do tej pory tego nie umiem |
|
|
12.10.2017, 13:06:06
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
To jest takie proste, ewentualnie jeszcze prostsze FetchAPI (+polyfill jeśli trzeba starsze wersje IE).
-------------------- |
|
|
12.10.2017, 13:22:21
Post
#9
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Czyli zamiast wysyłać coś przez formularz to wysyłam dane ajaxem i następuje dokładnie to samo co po przeładowaniu strony tylko bez przeładowania?
Mam wiersz w którym ma aktualną wartość produktu z bazy danych inputa i buttona. Wpisuję nową wartość klikam buttona wysyłam to przez ajax do skryptu który aktualizuje cenę w bazie. Wyświetla mi się nowa cena bez przeładowania strony? Wartości inputa i buttona odbieram normalnie $_POSTem w drugim pliku php tylko nie robię przekierowania jak zazwyczaj? |
|
|
12.10.2017, 13:32:33
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Teraz kolejny problem. na górze mam pasek menu zawsze widoczny który zasłania jakieś 200px góry strony i wiersz do którego mnie przenosi jest zasłonięty. Jest możliwość obniżyć wynik przeniesienia czy to już jest potrzebny skrypt w JS? http://kawalekkodu.pl/post/masz-cela-jak-b...z-przesunieciem -------------------- |
|
|
12.10.2017, 13:38:41
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Dokładnie tak, to jest tylko iny sposób przesłania danych. Na stronie jest też porada jak przygotować PHP do obsługi takich żądań.
-------------------- |
|
|
12.10.2017, 18:00:50
Post
#12
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Opanowałem wpisywanie do bazy bez przeładowania strony ale jak odświeżyć wyniki pobrane z bazy które mam na stronie z której wysyłam formularz?
Musze przykładowo za pomocą:
przekazać daną do diva o id message? Czyli na początku pobieram dana z bazy i wpisuje ją do do diva o id message i jak prześlę formularz przez ajaxa to za pomocą ww. instrukcji musze przekazać do tego diva nową wartość zmiennej? Czy może jest jakaś instrukcja która zmieni wyświetlane dane kiedy zmienią się w bazie? Choć to już chyba nierealna koncepcja. Ten post edytował gucio1 12.10.2017, 18:07:54 |
|
|
12.10.2017, 19:24:45
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
$('#twoj_div').html(data.message);
-------------------- |
|
|
13.10.2017, 11:37:35
Post
#14
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Mam kolejny problem, chcę wyciągać kolejno wartości produktów z bazy danych i do każdy z osobna ma obsługiwać ajax. Czyli wszystkie ceny maja aktualizować się bez odświeżania.
To mój plik gdzie wywołuje formularze dla każdego produktu
Wysyłam id produktu oraz nową cenę W drugim pliku:
Aktualizuje cenę w bazie i chce zwrócić nowe ceny, problem w tym że pierwszy rekord działa jak należy a następne zwracają mi dane w adresie i tak jakby nie były odbierane przez drugi plik. Wydaje mi się że muszę przekazać idProduktu na początku skryptu z pierwszego pliku i każdy formularz nazwać changePrice'.$idProduktu żeby skrypt wiedział do którego formularza się odwołać. Jak to zrobić? Uruchamiać skrypt on clickiem w tym wypadku w ogóle jest taka możliwość? Pomożecie? |
|
|
13.10.2017, 11:51:58
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Podpiąłeś pod konkretne id więc działa dla tego id. A id może być unikalne jedno na stronie. Poczytaj o delegacji zdarzeń.
-------------------- |
|
|
13.10.2017, 12:11:03
Post
#16
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
Znaczy wydaje mi się że formularzem wysyłam za każdym razem inne id.
Drugi plik odbiera id produktu i wiadomość zwrotną wysyła na message'.$idProduktu. Więc skoro mam message o konkretnym id skrypt nie znajduje go w pierwszym pliku a raczej dlatego że wszystkie formularze nazywają się changePrice już bez idProduktu z boku. Wydaje mi się żę dodanie idProduktu do każdego formularza changePrice rozwiązało by problem. Tylko skrypt jeśli dobrze to rozumiem nasłuchuje kliknięć w konkretnym fomrularzu a powinien nasłuchiwać w dowolnym. Jeśli idę w złym kierunku to mnie naprostujcie |
|
|
13.10.2017, 12:18:38
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Powtórzę jeszcze raz. Delegacja zdarzeń. Poczytaj co to jest bo to podstawy JS.
-------------------- |
|
|
16.10.2017, 12:24:08
Post
#18
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 30.04.2016 Ostrzeżenie: (0%) |
O masz wystarczyło odwoływać się do formularza o jakiejś klasie a nie o jakimś id..
Ok, mam drugi skrypt który pobiera statusy zamówień z dwóch tabel sortuje je według daty i wyświetla. Chciałbym zmiany statusów też zrobić bez odświeżania. W takim razie po wysłaniu formularza ze statusem mam wywołać klase php która wyświetla posortowane statusy i dane na stronie dynamicznie się zaktualizują? |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 09:07 |