Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax+xmlHttpRequest+includowanie strony
organista18
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Witam serdecznie całą społeczność forum.

Problem na jaki się natknąłem jest dość niezwykły. A właściwie jest to pytanie:
Posiadam stronkę o takim schemacie jak na obrazku niżej:


W divie main, posiadam w php include, które jest zależne od przekazanego parametru get z linku w menu.
Kod podstrony która jest includowana wygląda tak:

  1. <head>
  2. <style type="text/css" media="screen">@import url(../src_img/style000.css );</style>
  3. <script language = "javascript">
  4. var XMLHttpRequestObject = false;
  5.  
  6. if (window.XMLHttpRequest) {
  7. XMLHttpRequestObject = new XMLHttpRequest();
  8. } else if (window.ActiveXObject) {
  9. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  10. }
  11.  
  12. function getData(dataSource, divID)
  13. {
  14. if(XMLHttpRequestObject) {
  15. var obj = document.getElementById(divID);
  16. XMLHttpRequestObject.open("GET", dataSource);
  17.  
  18. XMLHttpRequestObject.onreadystatechange = function()
  19. {
  20. if (XMLHttpRequestObject.readyState == 4 &&
  21. XMLHttpRequestObject.status == 200) {
  22. obj.innerHTML = XMLHttpRequestObject.responseText;
  23. }
  24. }
  25.  
  26. XMLHttpRequestObject.send(null);
  27. }
  28. }
  29. </script>
  30. </head>
  31. <body>
  32. <div class="navigation">
  33. <caption>Edycja Kategorii Artykułów:</caption><br />
  34. <!-- menus START -->
  35. <form><input type="button" value="klik" onClick="getData('include/inc_catarts_add.txt', 'targetDiv')"></form>
  36. </div><p></p>
  37.  
  38. <div id='targetDiv'>
  39. </div>
  40. </body>


Strona która jest includowana pojawia się w divie który ma funkcję include. Jest przycisk, jednak po kliknięciu na ten przycisk, powinny się załadować do div'a 'targetDiv' (w pliku powyżej który jest includowany) dane z pliku inc_catarts_add.txt, jednak przeglądarka wogóle na kliknięcie przycisku niereaguje. Co może być przyczyną?

Ten post edytował organista18 31.08.2009, 11:52:57
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jednak przeglądarka wogóle na kliknięcie przycisku niereaguje
Jestes pewien ze nie reaguje? A moze ci sie cala strona przeladowuje?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
organista18
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Tak, jestem pewien.
Jeżeli w div'ie 'targetDiv' dorzucę np.
  1. <p>Jakiś tekst</p>

to po kliknięciu na przycisk, napis 'Jakiś tekst' w divie zostaje...
Wygląda to na to, jakby ajax nie działał na includowanych stronach...
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




jquery -> ajax.load


--------------------
Go to the top of the page
+Quote Post
organista18
post
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Wookie web, patrzałem na stronę jQuery i tam w przykładach była opisana cała taka funkcja, ale jak ją umieścić, ze wskazaniem na załadowanie danych do konkretnego div'a i jak ją podpiąć np pod link lub pod zdarzenie onClick tego przycisku?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




chodzilo mi o to, ze przyciski BUTTON mają to do siebie, ze jak sie je klika to wysylają formularz, czyli defacto przeladowują strone i nici z twojego ajaxa. Nie zaobserwowales by ci sie strona przeladowala?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
organista18
post
Post #7





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Nie zaobserwowałem. Spójrz tutaj: http://www.mjsp.pl/atest/ch02/index.html - przykład ajaxa na którym się opierałem.

a button ma wtedy to oczym piszesz, gdy w form method ustawimy get lub post. a ja tam w kodzie nie mam method...

Ten post edytował organista18 31.08.2009, 12:19:19
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Musisz robic to na serwerze albo na localu. Jeżeli otwierasz plik .html tak, że w adresie strony na początku masz file:// to ajax nie pojdzie.
Potem zainstaluj firebuga i zobacz co mówi jego konsola.

Ten post edytował wookieb 31.08.2009, 12:57:01


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a ja tam w kodzie nie mam method...
domyslnie jest post smile.gif

Ale to moze bylo przy <button> a nie <input type="button"


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
organista18
post
Post #10





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Ok, a czy ktoś podałby przykład jak skorzystać z tej funkcji: http://docs.jquery.com/Ajax/load#urldatacallback w moim konretnym przypadku?

Tzn mam link i chcę użyż funkcji load z biblioteki JQuery.
Go to the top of the page
+Quote Post
wookieb
post
Post #11





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(organista18 @ 31.08.2009, 14:03:34 ) *
Ok, a czy ktoś podałby przykład jak skorzystać z tej funkcji: http://docs.jquery.com/Ajax/load#urldatacallback w moim konretnym przypadku?


No przecież masz napisane jak WÓŁ! Czego tutaj nie kumać? Masz w dodatku zakładkę "view source"


--------------------
Go to the top of the page
+Quote Post
organista18
post
Post #12





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


A przepraszam, nie zauważyłem zakładki examples. Zrobie jak napisali i dam znać czy problem rozwiązany.

Lipa. W pliku includowanym wpisałem taki kod:
  1.  
  2. <head>
  3. <style type="text/css" media="screen">@import url(../src_img/style000.css );</style>
  4. <script type="text/javascript" src="scripts/jquery.js"></script>
  5. <script type="text/javascript">
  6. $(document).ready(
  7. function()
  8. {
  9. $("#lk").click(
  10. function()
  11. {
  12. $("#targetDiv").load("inc_catarts_view.php");
  13. });
  14. });
  15.  
  16. </script>
  17. </head>
  18. <body>
  19. <div class="navigation">
  20. <caption>Edycja Kategorii Artykułów:</caption><br />
  21. <!-- menus START -->
  22. <li><a title="Lista Kategorii" href="#" id="lk">Lista kategorii</a></li>
  23. <li><a href="#" title="Dodaj Kategorie" id="dk">Dodaj kategorie</a></li>
  24. </div><p></p>
  25. <div id="targetDiv">
  26. <p>Tutaj ładowana strona</p>
  27. </div>
  28. </body>
  29.  


Czy coś źle robie?

Ten post edytował organista18 31.08.2009, 21:04:34
Go to the top of the page
+Quote Post
wookieb
post
Post #13





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A w konsolę od firebuga zajrzał?


--------------------
Go to the top of the page
+Quote Post
organista18
post
Post #14





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Nie zajrzał bo nie ma.
Go to the top of the page
+Quote Post
wookieb
post
Post #15





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To se zainstaluje. Narzędzia -> dodatki -> pobierz dodatki.


--------------------
Go to the top of the page
+Quote Post
Fafu
post
Post #16





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

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


W firefoxa jest wbudowana konsola błędów: Ctrl + Shift + J


--------------------
http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły.
Go to the top of the page
+Quote Post
wookieb
post
Post #17





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ale nie pokazuje requestow ajaxowych.


--------------------
Go to the top of the page
+Quote Post
organista18
post
Post #18





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Nie mam firefoxa, używam Opere. Wkleiłem przejrzysty, cały kod strony która jest includowana i to nie chce działać, pomimo tego, jak wyczytałem, framework jQuery jest pozbawiony tego błędu...
Go to the top of the page
+Quote Post
wookieb
post
Post #19





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to zainstaluj. Firebug to najlepsze narzędzie do debugowanie po stronie www, że sobie tego nie wyobrażasz. Zamiast pisać 3 posty, że nie możesz zainstalować TO BYŚ TO JUŻ ZROBIŁ Z 3 RAZY I BYŁOBY PO PROBLEMIE.


--------------------
Go to the top of the page
+Quote Post
organista18
post
Post #20





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


Zainstalowałem, uruchomiłem. Włączyłem najpierw opcje javascript, a potem dom i klikając na link nic się nie zmieniało, debbuger nie pokazał mi w kodzie strony zaincludowanego pliku :|
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 20.08.2025 - 06:37