Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX or JS + PHP] odświeżanie zawartości div-a, jak odświeżyć zawartośc diva.
puz219
post 13.01.2008, 17:29:03
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

Ostrzeżenie: (0%)
-----


Witam.

Mam formularz i w tym formularzu mam listę rozwijaną (<select>) i teraz do tej listy wczytują mi sie rekordy z pola języki w bazie danych mysql.

Tylko, że jeśli w bazie nie ma potrzebnego języka trzeba go tam dodać, więc obok listy rozwijanej zrobiłem link <DODAJ NOWY JĘZYK>. Po kliknięciu w link otwiera mi sie okienko pop-up, w którym jest formularz do dodania języka do bazy.

I teraz czy da się zrobić tak, żeby po dodaniu języka odświeżyło mi automatycznie listę na stronie.

Wydaje mi się, że już gdzieś coś takiego widziałem i żeby coś takiego zrobić potrzebna będzie java (javascript smile.gif ), tylko, że problem polega na tym, że kompletnie nie znam tego języka, a bardzo potrzebuje coś takiego zrobić.

Prosiłbym o pomoc lub jakieś wskazówki jak rozwiązać taki problem, będę bardzo wdzięczny.

Pozdrawiam.

Ten post edytował puz219 14.01.2008, 13:09:24
Go to the top of the page
+Quote Post
sticker
post 13.01.2008, 17:46:48
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


mozesz pobrać selecta jako element i dac mu option poprzez appendChild


--------------------
Go to the top of the page
+Quote Post
puz219
post 14.01.2008, 13:24:17
Post #3





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

Ostrzeżenie: (0%)
-----


Pokombinowałem trochę i wymyśliłem pewien sposób na odświeżenie tej listy rozwijanej, a mianowicie, że tą listę wezmę w diva i pod spodem dam przycisk, po kliknieciu na który będzie mi sie odświeżała zawartość diva.

Więc poszperałem trochu w internecie i okazało sie, żeby osiągnąć taki efekt muszę skorzystać z AJAX-a, więc google -> kurs ajax -> i... katastrofa, zanim cokolwiek z tego zrozumiem, to miną ze 3 miesiące.

Więc zwracam się z prośbą do was, bardzo proszę o kawałek kodu jak odświeżyć zawartość diva, tylko to niestety musi być gotowe rozwiązanie, gdyż nawet jeśli mi dacie jakąś wskazówkę, to nawet sie w tym nie połapię, na chwilę obecną, to nawet javascriptu nie znam za dobrze, a właściwie w ogóle, a ajax to już dla mnie kosmos.

Bardzo proszę o pomoc, gdyż jest mi to bardzo potrzebne.

Z góry dzięki.

Pozdrawiam

Ten post edytował puz219 14.01.2008, 13:25:21
Go to the top of the page
+Quote Post
lord_t
post 24.01.2008, 00:16:15
Post #4





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


Do katalogu gdzie masz stronkę dajesz 2 pliki js:

1. advajax.js -sciagnij z http://advajax.anakin.us
2. funkcjeaa.js - o następującej zawartości
  1. function aktualizujSelecta()
  2. {
  3. advAJAX.get({
  4. url: "ABCD.php",
  5. "param":document.getElementById('sel')[document.getElementById('sel').selectedIndex].value,
  6. onSuccess : function(obj)
  7. {
  8. document.getElementById('zmieniany').innerHTML=obj.responseText;
  9. }
  10. });
  11. }


Uwaga: ABCD.php w powyższym pliku zamień na stronę php, która po uruchomieniu wyświetla to co chcesz mieć w drugim divie.


W sekcji <head> </head> swojej strony dodaj:
  1. <script type="text/javascript" src="advajax.js"></script>
  2. <script type="text/javascript" src="funkcjeaa.js"></script>



Gdzieś na twojej stronie:

  1. <select id='sel'>
  2. <option value='yyy'>YYY</option>
  3. <option value='xxx'>XXX</option>
  4. </select>
  5.  
  6. <button onclick='aktualizujSelecta();'>Przycisk</button>
  7.  
  8. <div id='zmieniany'></div>


Select ('sel') to Twój pierwszy select.
Po przyciśnięciu Przycisku, uruchomiona zostanie funkcja aktualizujSelecta(); która wpisze do diva('zmieniany') to co zwróci ABCD.php (jak pisałem wyżej ABCD.php zamień na swoja stronę).

Uwagi do ABCD.php:
Strona przyjmuje przez $_GET parametr 'param'. Wartość ta jest wartością wybranego tagu option z pierwszego selecta.
(tak możesz przekazać do ABCD.php parametr jaki chcesz)

PS. Funkcja ajaxa w tej wersji jaka napisałem nie obsługuje błędów, ponawiania połączenia, akcji na rozpoczęcie (initialization) i na zakończenie(finalization) itp.
PS.2. Zamiast tworzyć plik funkcjeaa.js można zamiennie wpisać jego zawartość w pliku Twojej strony. Jeśli chodzi o to umieszczanie to odsyłam do googla.
PS.3. Mam nadzieję, że nie piszę za późno;)


--------------------
Go to the top of the page
+Quote Post
kraks
post 17.07.2008, 09:44:24
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.06.2008

Ostrzeżenie: (0%)
-----


Witam, problem podobny wiec prosze o pomoc w tym temacie. Mam diva o id="odswiezaj_mnie" a w nim tabele z danymi pobieranymi z bazy Mysql. Chcialbym aby div w ktorym znajduje sie ta tabela odswiezal sie automatycznie np co 5 sekund, czyli w momencie kiedy dodam do tabeli jakis rekord aby ta zmiana odswiezyla sie na stronie. Odrzucam mozliwosc odswiezania calej strony, odswiezana ma byc tylko zawartosc diva. Prosze o pomoc i z gory dziekuje za odpowiedzi. Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 08:25