![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałbym zamieścić na swojej stronie prosty skrypt jQuery (bazujący na AJAXie) do zamieszczania komentarzy (coś w rodzaju shoutboxa). W otchłani różnych dodatków jQuery znalazłem dodatek ajaxForm, który ma działać tak, że trzeba napisać tylko kod PHP do obsługi formularza, 'podpiąć' formularz pod ten dodatek, i jQuery załatwi za mnie to, że ten formularz nie będzie wymagał przeładowania strony. Niestety, po podpięciu formularza pod ten dodatek, strona niestety przeładowuje się (co wygląda fatalnie, bo układ strony jest zrobiony z użyciem innego dodatku organicTabs). Najlepiej będzie, jak sami wejdziecie na stronę i dodacie jakiś komentarz, to zobaczycie, co się dzieje: menu 'Oceń' Kod PHP obsługujący formularz (chyba nie ma tutaj większego znaczenia) wygląda następująco:
Niedziałający kod jQuery, mający zapobiegać przeładowaniu strony:
Formularz: Proszę o pomoc, Z góry dziękuję Ten post edytował jg44 28.01.2012, 09:39:59 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź stronę używając np. firebug / dragonfly / chrome dev tools. Jeden z błędów ( usuń "-" ):
Ten post edytował Necsord 28.01.2012, 12:37:23 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ok, poprawiłem.
Sprawdziłem firebugiem i żadnych niepokojących objawów nie stwierdził... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Strona się nie przeładowywuje. Ty poprostu próbujesz wpakować całą stronę ( html, head, body ) do body. Zrób np. osobny plik obsługujący ten formularz, który będzie tobie zwracał sam komentarz.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale jak zrobię osobny plik dla formularza, to trzeba będzie załadować stronę z tym plikiem, a to nie o to chodzi. Po prostu chcę dodać komentarz, strona ma się nie przeładować, a ten komentarz powinien pojawić się pod formularzem. Chyba, że Cię źle zrozumiałem.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Plugin od formularza po potwierdzeniu wysyła request do wyznaczonego miejsca ( czyli ładuje tą "stronę" w tle ) i zwraca to co tam dostanie. W twoim przykladzie wysyłasz request do strony index.php która zwraca całą stronę zamiast tylko potrzebne elementy (sam komentarz). Popatrz sobie na przykłady porównaj wyniki konsoli firebug'a z twojej strony i ich:
http://jquery.malsup.com/form/#html |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
No tak, widzę, że to co mam jest złe. Takie coś też nic nie daje, bo dalej jest ładowana cała strona, tyle że do '.content' zamiast do 'body' ...
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ jak już mówiłem:
Ten plik zwraca całą stronę. Zrób plik np index2.php ( nazwa pogladowa ). index2.php
Równie dobrze ( nie tyle dobrze ile zadziała ) możesz to zrobić w index.php na samym poczatku przed wyświetleniem HTML'a. Ten post edytował Necsord 28.01.2012, 16:28:42 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzięki za pomoc.
![]() Ciężko z myśleniem u mnie dzisiaj, ale chyba zaczynam łapać. ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:05 |