Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX][PHP]zmiana treści strony bez przeładowania ?
RubiX
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

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


Witam
Szukam szukam i znaleźć nie mogę. Potrzebuję skrypt który zmienia treść strony po kliknięciu w link bez jej przeładowania np:
KLIKNIJ
Tutaj jest na dole panel :
Produkty powiązane Klienci kupili również Komentarze

Po kliknięciu w link zmienia się tekst na dole. Znalazłem 1 kod ale działa przez xml i po wczytaniu pliku nie pobiera mi zmiennych i nie mogę przez to operować na php (wczytuje tylko sam tekst z pliku).
Czy spotkał się ktoś z czymś takim i może mnie naprowadzić ?
Go to the top of the page
+Quote Post
drake88
post
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 15
Dołączył: 22.03.2009
Skąd: Bytów

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


mowa oczywiście nt. simple ajax tutorial - wujek google służy pomocą ;]
http://www.google.pl/#hl=pl&source=hp&...da125088bfb5519
Go to the top of the page
+Quote Post
RubiX
post
Post #3





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

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


jednak trafiłem na to:
http://www.queness.com/post/328/a-simple-a...-with-jqueryphp

tylko mam pytanie czy jak ktoś w przeglądarce ma wyłączony js to nie będzie mu działać ?

Ten post edytował RubiX 13.09.2009, 12:29:01
Go to the top of the page
+Quote Post
WebKing
post
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 16
Dołączył: 16.07.2007

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


  1. function Link(div, tar) {
  2. $(div).load(tar);
  3. }

  1. <a href="java script: Link('#main', 'plik.php')">Link 1</a>


*java script - zamień na javascript

Ten post edytował WebKing 13.09.2009, 12:35:01
Go to the top of the page
+Quote Post
drake88
post
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 15
Dołączył: 22.03.2009
Skąd: Bytów

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


Cytat(RubiX @ 13.09.2009, 13:24:54 ) *
tylko mam pytanie czy jak ktoś w przeglądarce ma wyłączony js to nie będzie mu działać ?


hm, no raczej nie...
Go to the top of the page
+Quote Post
RubiX
post
Post #6





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

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


WebKing dzięki Twoje najlepsze tylko powiedzcie jeszcze jak zrobić żeby na starcie pierwszy plik już był wczytany ?
To pewnie będzie trzeba dodać coś do tego ?

  1.  
  2. function Link(div, tar) {
  3.  
  4. $(div).load(tar);
  5.  
  6. }
Go to the top of the page
+Quote Post
WebKing
post
Post #7





Grupa: Zarejestrowani
Postów: 219
Pomógł: 16
Dołączył: 16.07.2007

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


  1. $(document).ready(function(){
  2. Link("#main", "jakiś_plik");
  3. });
Go to the top of the page
+Quote Post
RubiX
post
Post #8





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

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


No niee.. albo coś źle zrobiłem albo ten skrypt nie pasuje.
Otóż załadowany plik do diva nie czyta mi zmiennych zapisanych w pliku który zawiera tego diva.
Np index ładuje div (np. plik s1.php) no i załadowany w diva do index.php kod z s1.php nie czyta mi zmiennych z pliku index.php i polskie znaczki sie krzaczą... coś źle zrobiłem czy ten skrypt jquery tak ma ?
Go to the top of the page
+Quote Post
megawebmaster
post
Post #9





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Plik s1.php jest wykonywany zupełnie osobno i nie ma najmniejszego połączenia z plikiem index.php. Pomyśl - ładujesz index.php (na serwerze on się wykonuje, wysyła odpowiedź i się wyłącza), a potem ładujesz s1.php (który nie ma powiązania z index.php, chyba że dasz include()).
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #10





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Ja Ci opisze tutaj dokladnie jaki ja sposob stosuje i
moze Ci sie przyda.
Robisz tak :
1. w miejscu gdzie ma byc podmieniana zawartosc, wyswietlana
za kazdym razem inna zawartosc strony bez przeladowania
umieszczasz :
  1. <div id='changeMeOknoRozm'></div>

Miedzy znaczniki div rzecza jasna mozesz zaladowac dowolna
wartosc startowa, ktora pozniej zostanie zmieniona jesli w dowolnym
momencie bedziesz chcial to zrobic. W nazwie id mozesz umiescic
dowolna wartosc. Dzieki temu mozesz nawet kilka blokow na jednej
stronie podmieniac w dowolny sposob.

2. Robisz sobie ramke w dowolnym miejscu na stronie o wielkosci
1px x 1px dzieki czemu nie bedzie praktycznie widoczna :
  1. <iframe name='czat_ram_okno_roz' marginwidth='0' marginheight='0' align='top' border='0' frameborder='0' width='1' height='1' src='czat_ramka_okno_rozm.php' scrolling='no'></iframe>


3. Teraz w tym skrypcie, ktory bedzie ladowany do ramki jesli chcesz
cos w nim podmienic to piszesz :
  1. echo "<script language=\"JavaScript\">";
  2. echo "parent.document.getElementById(\"changeMeCHATownicy\").innerHTML = \"$lista\";";
  3. echo "</SCRIPT>";

W zmiennej lista mozesz zaladowac dowolna zawartosc jaka ma sie
znalezc miedzy divami.

Mam nadzieje, ze wiesz jak sie pisze linki z wywolaniem ramki :
  1. <a href='skrypt_obslugujacy_ramke.php' target='czat_ram_okno_roz'>cos</a>

Niezaleznie od tego jak wywolasz ramke i co w niej obliczysz to po wywolaniu tego
kawaleczka JavaScript zaladujesz na strone dowolna zawartosc bez przeladowywania.

Tutaj masz przyklad :
http://www.bluelan.pl/przyklad_gd/zawartosc.php

Moze malo elegancko, ale skrypt doslownie wyglada tak :
Plik 'zawartosc.php' :
  1. <?php
  2.  
  3. echo "<a href='zawartosc_ramka.php?opcja=1' target='ramka'>tekst1</a>, ";
  4. echo "<a href='zawartosc_ramka.php?opcja=2' target='ramka'>tekst2</a>, ";
  5. echo "<a href='zawartosc_ramka.php?opcja=3' target='ramka'>tekst3</a>, ";
  6. echo "<a href='zawartosc_ramka.php?opcja=4' target='ramka'>tekst4</a>, ";
  7. echo "<a href='zawartosc_ramka.php?opcja=5' target='ramka'>Grafika</a>";
  8.  
  9. echo "<br><br><div id='changeMe' align='center'>zawartosc poczatkowa</div>";
  10.  
  11.  
  12. echo "<iframe name='ramka' marginwidth='0' marginheight='0' align='top' border='0' "
  13. ."frameborder='0' width='1' height='1' src='zawartosc_ramka.php' scrolling='no'></iframe>";
  14. ?>

Plik 'zawartosc_ramka.php' :
  1. <?php
  2.  
  3. if ($_GET['opcja'] == '1') {
  4. $lista = 'Pierwszy tekst';
  5. }
  6. if ($_GET['opcja'] == '2') {
  7. $lista = 'Drugi tekst';
  8. }
  9. if ($_GET['opcja'] == '3') {
  10. $lista = 'Trzeci tekst';
  11. }
  12. if ($_GET['opcja'] == '4') {
  13. $lista = 'Czwarty tekst';
  14. }
  15. if ($_GET['opcja'] == '5') {
  16. $lista = "<img border='0' src='5.jpg'>";
  17. }
  18. if ($lista != '') {
  19. echo "<script language=\"JavaScript\">";
  20. echo "parent.document.getElementById(\"changeMe\").innerHTML = \"$lista\";";
  21. echo "</SCRIPT>";
  22. }
  23. ?>
Go to the top of the page
+Quote Post
Wojciechowy
post
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 20.09.2009

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


mam pytanie, bo się męcze z tym (IMG:style_emoticons/default/tongue.gif)

w loader.php wrzuciłem do case'ów coś takiego (żeby na wejscie juz coś bylo widać)

  1. default: { include('0.php');break; }


i nic, normalnie jak robię stronę w php i wrzucam coś takiego to wszystko działa, a tu nic działa, w ogóle nie łapie. czym to jest spowodowane i jak zrobić, żeby działało? (IMG:style_emoticons/default/smile.gif)

cały loader.php wyglada tak:

  1. <?
  2.  
  3. switch($_GET['page']) {
  4.  
  5.  
  6. case "#page1": { include('1.php');break; }
  7. case "#page2": { include('2.php');break; }
  8. case "#page3": { include('3.php');break; }
  9. case "#page4": { include('4.php');break; }
  10. default: { include('0.php');break; }
  11.  
  12. }
  13.  
  14. echo $page;
  15. ?>


Ten post edytował Wojciechowy 20.09.2009, 08:40:51
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 10:12