JQuery i odświeżenie diva - proszę o pomoc


(Hwdk) #1

Witam,

Moja strona składa się z kilku divów. Jeden z nich (treść) jest includowana na podstawie zmiennej w adresie url. Potrzebuję odświeżyć zawartość diva po przesłaniu danych post JQuery. Teoretycznie mógłbym odświeżyć całą stronę, lecz wtedy zniknie informacja o powodzeniu - a mi zależy na czymś takim jak w WP czy Joomla strona (albo div) się odświeża a informacja zostaje… Proszę o pomoc.


(ziggurad) #2

Ten POST ma lecieć z jakiegoś formularza?

Przechwytujesz wysłanie formularza przez jQ, pobierasz skądś dane na podstawie POSTa i ładujesz je do diva np: $(“div#info”).html($tresc);


(Hwdk) #3

Tak, uzywam plug-inu do JQuery, który prezentuje tabelkę (sortowanie itd). Tabelka jest w formularzu a wybrany rekord jest przesyłany POST-em.

Niestety nie potrafię wcielić Twojej wskazówki. Treść includuje tak: if ($_GET[‘page’] == ‘articles’){ include (‘articles.php’) i tak dalej. Proszę o pomoc i przepraszam za problem wynikający z mojej niewiedzy.


(ziggurad) #4

Pisane z palca:

$('#form').submit(function(){

	   $html='Nowe dane';

       $('div#text').html($html);

	   return false;

	})

Jeśli chcesz wczytać zawartość pliku, znalezione na szybko:

http://stackoverflow.com/questions/1981 … -text-file

Jeśli w tym pliku masz kod php liczący coś, łączący się z bazą itp kod nie zostanie wykonany, jedynie co wyświetlisz to kod pliku php.

Możesz za pomocą get wywołać plik z jakimś parametrem (np nazwą strony) a plik php zwróci CI treść którą wrzucisz do strony.

Opieranie głównej nawigacji na js to chyba nie do końca dobry pomysł…


(Hwdk) #5

Wiem że głównej funkcjonalności nie powinno się robić w JS (jednak szybkość implementacji, paginacja, sortowanie, i wyszukiwanie zachęcają) ale zależy mi na tym aby rekord był usuwany bez przechodzenia na inną stronę. Dlatego zależy mi na informacji i odświeżeniu diva. Dzięki zaraz spróbuję tego.

P. S. Ciekawi mnie jak jest to robione na w WordPress`ie. gdy najeżdżam na link usuń widzę że wszystko odnosi się do kodu PHP - a jednak informacja o usunięciu pojawia się i odświeżona jest tabela rekordów…


(ziggurad) #6

Nie wiem jak jest w wordpresie ale domyślam się że po kliknięciu wywoływany jest np plik usun.php do którego przekazuje się id np usuwanego artykułu, php łączy się bazą, robi co musi (usuwa) i po pozytywnej zwrotnej informacji za pomocą js można usunąć jakieś dane (wiersz w tabeli) itp itd.


(Drobok) #7

Masz plik obsługujący zapytania, wysyłasz dane i uzyskujesz odpowiedź. JS to tylko nakładka.

Skoro masz wszystko na if’ach to daj resztę strony (poza częścią wyświetlającą tego div’a), w kolejnego if’a. W jquery wyślić dodatkowo jakąś wartość sprawdzaną w tym if.

Jak działa $.post / .html masz w manualu.

A co do samego linku nie robisz żadnych formów, tylko linku. W jquery $(‘a’).click, w post wysyłasz this href + w/w dodatek do pomijania treści (byś nie miał strony w stronie)