Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Problem z ładowaniem kodu w klasie
jacobson
post 24.08.2012, 06:44:08
Post #1





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


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
Go to the top of the page
+Quote Post
rocktech.pl
post 24.08.2012, 07:11:42
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


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


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 15.06.2025 - 16:02