Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery][AJAX][PHP] - operowanie na atrybutach z innego pliku po wczytaniu go do pliku-pojemnika
igreko
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 1.05.2016

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


Witam, mam problem, a mianowicie:
Mam plik pojemnik.html - w którym znajduje sie div #pojemnik - do którego ładowana jest treśc pliku skrypt.html po przez skrypt js - pojemnik.js.
W pliku skrypt.html jest link, ktory po kliknieciu nie powinien przejsc do strony awartej w atrybucie href - blokada przejscia jest zawarta w skrypcie skrypt.js, ktòry również jes podpięty do pliku pojemnik.js.
Problem polega na tym, że po kliknieciu i tak przechodzi do wskazanej strony. Ładowanie skrypt.html do #pojemnik jest za pomocą ajax w jquery
Link to tylko przyklad, chodzi mi o interakcje tresci pobranej z pliku.php z skryptem.js w innym pliku.chcialbym zeby ta reakcja zachodzila z gory dziekuje i zaznaczam ze nie będe odpowiadal na
tresci, które nic nie wnoszą do tematu.

Jeśli chodzi o to po co to tak wszystko komplikowac to odpowiem ze inaczej byc nie moze

Pojemnik.html
  1. <html>
  2. <head>
  3. <script src="jquery.js"></script>
  4. <script src="pojemnik.js"></script>
  5. <script src="skrypt.js"></script>
  6. </head>
  7. <body>
  8. <div id="pojemnik">
  9.  
  10. </div>
  11.  
  12. </body>
  13. </html>


Pojemnik.js
  1. jQuery(document).ready(function()
  2. {
  3.  
  4. alert('wczytano pojemnik');
  5.  
  6.  
  7. $('#pojemnik').load('skrypt.php');
  8.  
  9.  
  10. });


Skrypt.php
  1. to jest tresc wczytana z skrypt.php
  2. <a href="noload.php">po kliknieciu tego strona nie powinna sie przeladowac</a>


Skrypt.js
  1. jQuery(document).ready(function()
  2. {
  3. alert('wczytano skrypt.js');
  4. $('a').click(function()
  5. {
  6. return false;
  7. });
  8. });


Oprocz funkcji load probowalem jeszcze przeslac dane za pomocą $ajax i $.post rowniez z mizernym skutkiem
Go to the top of the page
+Quote Post
avalanche
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 1
Dołączył: 1.05.2016

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


przypisanie zdarzenia do $('a') spróbuj zrobić funkcją, która umożliwia przypisanie za każdym razem, gdy taki element pojawi się w DOMie.
jeśli dobrze pamiętam, to http://api.jquery.com/on/ - nie mam pewności, bo nie siedzę w JS
Go to the top of the page
+Quote Post
igreko
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 1.05.2016

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


Dzięki, poczytam. W Mojej książce nic o tym nie było.on() jest zalecane od 1.7 ja czytalem książke gdy najnowszą wersją było 1.6 (IMG:style_emoticons/default/biggrin.gif) mam nadzieje że cos pomoze (IMG:style_emoticons/default/smile.gif) ale jestem otwarty na inne rozwiazania jezeli takowe istnieja. Dziękuje za odpowiedź

Dobra, jak zrobic to ze zdarzeniami juz wiem, uzywam metody on() ale to tylko ze zdarzeniami a jezeli chcialbym dodac wlasciwosc css do dynamicznego elemetu strony?
$('#cos').css({'font-color':'red'}); - nie zadziala jezeli elemet zostanie dynamicznie dodany. Prosze o pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
rad11
post
Post #4





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

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


Dodaj normalnie do pliku css jakaś klasę która będzie miała te atrybuty i zamiast operować na .css zrób .addClass

Ten post edytował rad11 2.05.2016, 08:41:26
Go to the top of the page
+Quote Post
igreko
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 1.05.2016

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


No dobra a jezeli mam dodac html do tresci, której jeszcze nie ma bơ jest dodawana dynamicznie?
$('#cont').html('nowa tresc');
Cont jest pobierane z pliku skrypt.html
Do pliku pojemnik.html
Po przez pojemnik.js w metodzie ajax
Wiem ze to zadziala jezeli to zrobie w tên sposob
  1. $ajax({
  2. url:"skrypt.php",
  3. success:function(data){
  4. $('pojemnik').html(data);
  5. $('#cont').html('nowa tresc');
  6. }
  7. });

Ale jezeli kod:
$('#cont').html('nowa tresc');
Jest podany poza funkcja ten kod nie zadziala, zalerzy mi na tym zeby było można operowac na $('#cont') z kazdego miejsca nawet z innego skryptu js ktory jest podpięty do pojemnika
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%)
-----


No to przeciez Ci napisałem dodaj klasę do tego np:
  1.  
  2. $('#cont').html('nowa tresc');
  3. $('#cos').addClass("red-font");
  4.  


a w pliku css dodaj:

  1. .red-font{
  2. 'font-color':'red'
  3. }
Go to the top of the page
+Quote Post

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: 23.08.2025 - 01:24