![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam 2 buttony. Gdy zostaje wciśnięty button "black_player" jego wartość zmienia się na wartość z bazy. Tą zmianę widzę. Gdy wciskam drugi button "stand_up" wartość pierwszego zmienia się w bazie i na stronie na inną, ale muszę ręcznie odświerzyć stronę, by tą zmianę zobaczyć. Co zrobić by po kliknięciu drugiego buttonu wartość pierwszego zmieniła się automatycznie- bez przeładowywania strony? Czy droga którą tu idę jest dobra?
Poniżej jest poucinany kod, nie powinno być z nim komplikacji, jeżeli chodzi o jego zrozumienie. Jak coś będzie mocno niejasne, to wrzucę nieokrojony kod. index:
ajax_black.php:
ajax_leave.php:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 6 Dołączył: 30.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
na początek uwaga: staraj się być bardziej konsekwentny w nadawaniu nazw - tu masz angielską nazwę, tam polską i trudno się w tym nie pogubić. Kod w stylu: "$('#przycisk').html('<?php echo $button_value; ?>');" nie wygląda najlepiej. Wygląda na to, że nie dostajesz poprawnych danych z ajax_leave.php. W drugim $.ajax spróbuj całkowicie wyrzucić:
Jeśli to nie pomoże, upewnij się, że do php dociera prawidłowy input w $_POST - w tym celu możesz w $.ajax ustawić pod "success:" coś w tym stylu:
I w ajax_leave.php: - taki szybki ręczny debug. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za rady. Pierwszy raz programuję w sieci i robię wiele rzeczy "na czuja".
W każdym razie z tego co piszesz rozumiem, że to powinno działać i nie potrzeba żadnych dodatkowych funkcji odświerzających, a błąd jest gdzieś w tym co aktualnie mam? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 6 Dołączył: 30.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie, jQuery z założenia nie wymaga żadnego odświeżania - .val('value') nadaje 'value' jako wartość od razu po odnalezieniu wskazanego przez ciebie elementu. Stara wartość "znika" i widać już tylko nową.
Powinno działać. Tylko koniecznie wyrzuć - używając go będziesz zawsze miał pustą tablicę $_POST, bo nic do niej nie dotrze. Po wyrzuceniu tej linii wartość contentType ustawi się automatycznie na 'application/x-www-form-urlencoded', co jest prawidłową wartością w twoim przypadku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:51 |