Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Problem z ładowaniem kodu w klasie
Forum PHP.pl > Forum > Przedszkole
jacobson
Witam, mam taki problem. Mam zrobione na jQuery Ajax pewien system. Dziala on tak ze mam na stronie (strona.php) funkcje $.ajax ktora wysyla zadanie POST do mojego skryptu ajax.php. W nim mam switcha w zaleznosci od przeslanej akcji ma wywolywac statyczna metode w klasie. Tresc na mojej stronie tez jest pobierana poprzez ajax tak wiec na samej stronie strona.php znajduje sie "szablon" ktory jest po chwili wypelniany trescia (wywolywana metoda statyczna w klasie). Na swojej stronie strona.php na samym koncu dokumentu pobieram skrypt JS odpowiadajacy za dzialanie tego wszystkiego. Problem jest taki poniewaz w tej pobieranej tresci przez ajax mam panel ktory po nacisnieciu powinien wykonac pewna akcje a nie widzi on bedacego "wczesniej" na tej stronie skryptu JS inie moze wykonac zdarzenia .click() dla tego elementu. Wszystko zaczyna dzialac tylko wtedy kiedy fragment odpowiadajacy za ten panel umieszcze pod kodem klasy (nie jest to chyba dobre rozwiazanie). Sprobuje jakos to wyjasnic mniej wiecej kodem bo to troche zagmatwane tongue.gif

  1. strona.php
  2. <div id="info"></div>
  3. <div id="przycisk1"></div>
  4. <div id="contentPanel"></div>
  5.  
  6. <script>
  7.  
  8. getContent();
  9.  
  10. $('#przycisk1').click(function(){
  11.  
  12.  
  13. $.ajax({
  14. type : 'POST',
  15. url : url,
  16. data: {
  17. action: 'akcja1'
  18. },
  19. success : function(data){
  20. getContent();
  21. $('#info').prepend(data);
  22. }
  23. });
  24. $('.informationBox').remove();
  25.  
  26. });
  27. </script>
  28.  


funkcja getContent pobiera na strone do diva contentPanel tresc
  1. <div id="przycisk2"></div>


i teraz umieszczajac w pliku strona.php kod np

  1. $('#przycisk2').click(function(){
  2. alert('1');
  3. });


to to nie zadziala. Dopiero po umieszczeniu tego kodu pod klasa w ktorej jest wykonywana metoda statyczna getContent skrypt "widzi" metode "click" dla przycisk2. Wszystko byloby ok gdyby nie problem z tym ze w metodzie "success" funkcji pobieram "data". W metodzie statycznej na sam koniec mam
  1. echo "Nacisnieto przycisk";

Ale niestety kod js znajdujacy sie na samym dole klasy wywolywany jest szybciej i pojawia sie on rowniez w mojej zwracanej tresci przez "data" (najpierw kod js a potem "nacisnieto przycisk". Czy ktos moze mialby jakis pomysl na dobre rozwiazanie tego problemu ? bo troche sie zagmatwalem z tym wsystkim ;p
rocktech.pl
Witam.

Daj callback beforeSend.

[JAVASCRIPT] pobierz, plaintext
  1. ...
  2. beforeSend: function ( ) {
  3. alert('Naci\u015bni\u0119to przycisk');
  4. },
  5. success : function(data){
  6.  
  7. getContent();
  8.  
  9. $('#info').prepend(data);
  10.  
  11. }
  12. ...
[JAVASCRIPT] pobierz, plaintext
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.