Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak podpiąć js do elementu pobranego za pomocą ajax'a
NickOver
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Cześć.
Mam problem z podpinaniem js'ów do elementów pobieranych ajaxowo. Dobry przykład jest z dropzone.js
Pobieram część strony za pomocą ajax'a. Na końcu jest skrypt:
  1. Dropzone.options.myAwesomeDropzone = {
  2. autoProcessQueue: true,
  3. uploadMultiple: true,
  4. parallelUploads: 100,
  5. maxFiles: 100,
  6. init: function() {
  7. var myDropzone = this;
  8.  
  9. this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
  10. e.preventDefault();
  11. e.stopPropagation();
  12. myDropzone.processQueue();
  13. });
  14. this.on("sendingmultiple", function() {
  15. });
  16. this.on("successmultiple", function(files, response) {
  17. });
  18. this.on("errormultiple", function(files, response) {
  19. });
  20. }
  21.  
  22. }

Próbowałem dać bez document ready ale też nie działało.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
NickOver
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Ok. Przerobiłem wszystko w taki sposób aby zwracał mi json'a z tablicą:
-page - zawartość jaka ma się wyświetlić - działa bez problemu.
-script - skrypt js'owy i tu zaczynają się schody ponieważ nadal to nie działa.
Gdy dam console.log('asd'); jest ok, ale przy skrypcie z posta wcześniej nic nie działa. Dumpując co zwraca po eval mam obiekt, niestety i tak nie jest on podpinany. Pierwsza moja myśli to że jednocześnie to wszystko odpala, tj. w tym samym momencie przez co tworzy się ten obiekt, ale nie podpina się pod id więc dałem wszystko w
  1. setTimeout(skrypt, 3000);
, niestety to nie pomogło. Następnie wszystko wrzuciłem w funkcję którą chciałem odpalić z konsoli. Niestety chcąc odpalić ją z konsoli dostałem "is not defined". Może jeszcze wrzucę skrypt który jest odpowiedzialny za obsługę tego jsona:
  1. $("body").on("click", ".ajax-menu", function(e){
  2. e.preventDefault();
  3. var url = $(this).attr('href');
  4. $.ajax({
  5. method: "POST",
  6. url: url,
  7. })
  8. .done(function(json){
  9. data = $.parseJSON(json);
  10. $('.page-content').html(data.page);
  11. eval(data.script);
  12. });
  13. });

Mógłby mi ktoś powiedzieć co robię źle?

Ten post edytował NickOver 17.11.2015, 17:59:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 00:38