Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie działa html przesłany ajaxem
Grzegorz02
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.09.2014

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


Witam,
chciałbym zrobić przeglądarkę plików znajdujących się na serwerze obsługiwaną ajaxem. Mam coś takiego:

  1. <div id="Okno_pliki" title="Explorer.">
  2. <font size="2">Adres: <b>rotor/</b></font>
  3.  
  4. <tr><td><img src="./images/backm.jpg" value="back" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_cen" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_stan_tow" class="folder"></td></tr>
  5. <tr><td></td><td><center>ak_cen</td><td>ak_stan_tow</td></tr>
  6.  
  7. </table>
  8.  
  9. </div>


plik JS:

[JAVASCRIPT] pobierz, plaintext
  1. $("#Okno_pliki img.folder").dblclick(function()
  2. {
  3.  
  4. a=$(this).attr('value');
  5. //alert (a);
  6. $.post("datas/users/id/im/folder.php",
  7. {
  8. folder: a
  9.  
  10. },function(data)
  11. {
  12. $("#Okno_pliki").html(data);
  13.  
  14.  
  15.  
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext



plik folder.php:

  1. $akcja=$_POST['folder'];
  2.  
  3.  
  4. $dane=<<<EOD
  5.  
  6.  <font size="2">Adres: <b>rotor/$akcja/</b></font>
  7. <table>
  8.  
  9. <tr><td><img src="./images/backm.jpg" value="back" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_cen" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_stan_tow" class="folder"></td></tr>
  10. <tr><td></td><td><center>ak_cen</td><td>ak_stan_tow</td></tr>
  11.  
  12. </table>
  13.  
  14.  
  15.  
  16. EOD;
  17.  
  18.  
  19.  
  20.  
  21. echo $dane;



Gdy dane zostaną przesłane ajaxem, nie działają już na tych danych skrypty js, dlaczego?
chodzi o to wywołanie:

$("#Okno_pliki").html(data);

Ten post edytował Grzegorz02 25.04.2015, 21:01:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


https://api.jquery.com/live/

To przestarzała metoda ale jest to dobra strona wyjściowa do prawidłowego rozwiązania.
Cytat
which simplifies the use of event handlers when content is dynamically added to a page


--------------------
Go to the top of the page
+Quote Post
Grzegorz02
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.09.2014

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


Poprawiłem js wg wskazówki, nie działa, wygląda tak jak by był błąd składni ...
jquery jest w wersji 1.11.1

[JAVASCRIPT] pobierz, plaintext
  1. $("#Okno_pliki img.folder").live('dblclick',function()
  2. {
  3.  
  4. a=$(this).attr('value');
  5. //alert (a);
  6. $.post("datas/users/id/im/folder.php",
  7. {
  8. folder: a
  9.  
  10. },function(data)
  11. {
  12. $("#Okno_pliki").html(data);
  13.  
  14.  
  15.  
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


.live() jest już bardzo dawno przestarzałą funkcją. Masz użyć .on(). W stopce mam artykuł o tym.


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


sciana.gif przecież napisałem, że live wysyłam Ci jako punkt wyjścia i wyraźnie zaznaczyłem, że nie masz go użyć tylko przeczytać dokumentacje.


--------------------
Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Jezeli chcesz sie odwolac do elementu ktory jest tworzoiny dynamicznie musisz uzyc takiej struktury:

  1. $(document).on("click", '#twoj_element', function(){
  2.  
  3. console.log(1);
  4.  
  5. });
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 Aktualny czas: 22.08.2025 - 04:38