Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie strony w ajax, na której jest kod js
Forum PHP.pl > Forum > XML, AJAX > AJAX
dethim
Witam. Ostatnio rozpocząłem przygode z ajaxem i nawet fajnie mi idzie, ale ostatnio napotkałem na problem. Otóż, mam plik sklep.php z przyciskiem, który ściąga zawartość innego pliku. Udaje mi się to zrobić, jednak w drugim pliku mam 2 funkcje w jquery które nie działają mi po pobraniu zawartości tego pliku przez skrypt sklep.php. Jeśli odpale ten drugi plik, funkcje w jq działają. Zupełnie tak jak by deklaracje funkcji w js nie były dostępne, chociaż są i w pliku sklep.php i w tym drugim. Czy musze jakos dynamicznie zadeklarować te funkcje jquery ?
rad11
Czyli na stronie skrypt.php masz deklaracje tych funkcji z drugiej strony tak ?
dethim
na obu stronach mam deklaracje tych funkcji, ale w zczytywanej zawartosci JS nie działa. Wyczytałem że powinienem przed wczytaniem drugiego pliku, załadować plik z funkcjami JS, ale pojęcia nie mam jak mam to zrobić
rad11
A pokaz kod tego pliku.php i drugiego pliku.
dethim
sklep.php
  1. <script type="text/javascript">
  2. function getXMLHttpRequest()
  3. {
  4. var request = false;
  5.  
  6. try {
  7. request = new XMLHttpRequest();
  8. } catch(err1) {
  9. try {
  10. request = new ActiveXObject('Msxml2.XMLHTTP');
  11. } catch(err2) {
  12. try {
  13. request = new ActiveXObject('Microsoft.XMLHTTP');
  14. } catch(err3) {
  15. request = false;
  16. }
  17. }
  18. }
  19. return request;
  20. }
  21.  
  22. var r;
  23. r = getXMLHttpRequest();
  24.  
  25.  
  26. function obiektChange()
  27. {
  28. if (r.readyState == 4) {
  29. if (r.status == 200) {
  30.  
  31. var el;
  32. el = document.getElementById('zawartosc');
  33. el.innerHTML = r.responseText;
  34. };
  35. };
  36. }
  37.  
  38.  
  39. var r;
  40. r = getXMLHttpRequest();
  41.  
  42.  
  43.  
  44. function btnclick(co) {
  45. r.open('GET', 'sklep/' + co + '.php', true);
  46. r.onreadystatechange = obiektChange;
  47. r.send(null);
  48.  
  49. }
  50.  
  51. </script>
  52.  
  53. .
  54. .
  55. .
  56.  
  57.  
  58. <li><button onclick="btnclick('plik2');">B r o ń</button> </li>
  59.  
  60. <div id='zawartosc'></div>


plik2.php

  1. <? include('../config.php') ?>
  2.  
  3.  
  4. <h2><span>B r o ń</span></h2>
  5.  
  6. <form action="sklep.php?opt=bron" method="post">
  7. <table border="0" cellspacing="2" cellpadding="2" style="width:100%">
  8.  
  9.  
  10.  
  11. <?
  12.  
  13.  
  14.  
  15. $u=1;
  16. for($i=14; $i>=1; $i--) {
  17. if(get_level($punkty)+10 >= $bron[$i]['level']) {
  18.  
  19. if ($u==1) echo '<tr>';
  20. ?>
  21.  
  22.  
  23. <td width="126" class="bg9">
  24. <img class="sticky" title="Atrybuty i wymagania broni" src="img/b/<? echo $bron[$i]['nazwa'] ?>.jpg" rel="hint_sklep.php?co=<? echo $i?>" width="120px" height="120px" alt="" /><br />
  25. Cena: <? echo $bron[$i]['cena'] ?> <img src="img/coins.png" />
  26.  
  27.  
  28.  
  29. </td>
  30. <td class="bg8" width="440"><input type='button' value='-' class='button qtyminus' field='<? echo $bron[$i]['nazwa'] ?>' />
  31. <input type="text" name="<? echo $bron[$i]['nazwa'] ?>" class="tek_center" size="4" value="0" />
  32. <input type='button' value='+' class='button qtyplus' field='<? echo $bron[$i]['nazwa'] ?>' /> <br />
  33.  
  34. </td>
  35.  
  36.  
  37. <?
  38. if ($u == 1) { $u = 2; }
  39. else if ($u == 2) { $u=1;echo '</tr>'; }
  40.  
  41. } }
  42.  
  43.  
  44.  
  45.  
  46.  
  47. ?>
  48.  
  49. </table>
  50.  
  51.  
  52.  
  53.  
  54.  
  55. <center> <input type="submit" class="button" value="Kup" /> </center><br />
  56. </form>
  57.  
  58.  


pliki js które musza być załadowane to:
  1. <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
  2. <script type="text/javascript" src="javascript/jquery.cluetip.js"></script>
  3. <script type="text/javascript" src="script.js"></script>
fizzlebubble
patrząc na ten kod chcę umrzeć... podstawy architektury web aplikacji - separacja backendu i frontendu, a u Ciebie? Miszmasz.
dethim
to test smile.gif mój kod wygląda inaczej. A z problemem sobie poradziłem bez ajaxa. Użyłem jquery do pokazywania/ukrywania divów.
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-2024 Invision Power Services, Inc.