Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript]Po odświeżeniu AJAX'em elementu, JS nie działa
Forum PHP.pl > Forum > Przedszkole
grabek93
Witam,
mam problem z AJAX i JS a mianowicie:
strona składa się z menu i głównej części. Po kliknięciu menu, do głównego div'a załadowana zostaje (document.getElemById(id).innerHTML) zawartość uzyskana za pomocą AJAX.
Problem polega na tym, że jeżeli w divie głównym, pojawią się elementy JS, to się nie uruchamiają. Jak to rozwiązać?
Gość
kod kod pokaz kod js i to menu, wrozka nikt nie jest:p wlacz sobie w przegladarce tezz konsole js i zobacz jakie sa bledy
grabek93
Chciałeś kod to masz.
Zaznaczam, że to tylko kod przykładowy, który ma obrazować mój problem. Całość składa się z 11 plików i 700 linii i nie jest możliwe wrzucenie tego na forum.
Dokładnie chodzi o rysowanie wykresów w js, nie alert - ale alert też nie działa.
Tu jest przykład na serwerze: http://chojnice.ch/strony/ajax/

PROSZĘ KOD:
ajax.js
  1. var xmlHttp = createXmlHttpRequestObject();
  2.  
  3. function createXmlHttpRequestObject(){
  4. var xmlHttp
  5.  
  6. if(window.ActiveXObject){
  7. try{
  8. xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
  9. }
  10. catch(e){
  11. xmlHttp = false;
  12. }
  13. }
  14. else{
  15. try{
  16. xmlHttp = new XMLHttpRequest();
  17. }
  18. catch(e){
  19. xmlHttp = false;
  20. }
  21. }
  22.  
  23. if(!xmlHttp)
  24. alert('Błąd!');
  25. else
  26. return xmlHttp;
  27. }

editfunctions.js
  1. function load(what){
  2. if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
  3. xmlHttp.open("GET", "card.php?f="+what, true);
  4. xmlHttp.onreadystatechange = function(){
  5. if(xmlHttp.readyState == 4){
  6. if(xmlHttp.status == 200){
  7. // zakończono powodzeniem
  8. xmlResponse = xmlHttp.responseText;
  9. document.getElementById('main').innerHTML = xmlResponse;
  10. }
  11. }
  12. }
  13. xmlHttp.send(null);
  14. }
  15. }

card.php
  1. <?php
  2.  
  3. // ZAPYTANIA SQL
  4.  
  5. include addslashes($_GET['f']).'.php';

menu1.php (podobne jak menu2.php)
  1. alert('Alert dla menu 1');
  2. <p>Menu 1</p>

i w końcu index.htm
  1. <script src="ajax.js"></script>
  2. <script src="editfunctions.js"></script>
  3.  
  4. <div id="menu">
  5. <ul>
  6. <li onclick="load('menu1')">Menu1</li>
  7. <li onclick="load('menu2')">Menu2</li>
  8. </ul>
  9. </div>
  10. <div id="main">
  11.  
  12. </div>
nospor
Zainteresuj sie biblioteką jQuery. Wowczas js będzie ci działać.
grabek93
Chodzi o to, że zależy mi na tych wykresach:
https://google-developers.appspot.com/chart...nechart#Example
Czy jQuery da radę?
nospor
jQuery wykona ci skrypt js. Jesli te wkykresy to js, to powinno dac rade.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.