Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery][ajax] załadowanie jednego elementu z innego pliku html, Jak za pomocą ajaxa zaimportować jednego diva?
5skakanek
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 5.04.2011

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


Mam stronę główną "index.html" której jednym z elementów jest
  1. <div id="content"></div>
oraz plik - "tresc.html" - gdzie znajdują się
  1. <!DOCTYPE HTML>
  2. <meta content="charset=utf-8">
  3. </head>
  4. <div id="txt1">tekst 1</div><div id="txt2">tekst 2</div><div id="txt3">tekst 3</div>
  5. </body>
  6. </html>

Chciałbym aby po kliknięciu linku w "index.html" załadować do niego element np
  1. <div id="txt2">tekst 2</div>
z pliku "tresc.html" jednak bez pozostałych informacji. Pliki znajdują się w tej samej lokalizacji. Czy jest jakiś sposób, żeby zrobić to z pomocą jquery/ajax?
Czekam na odp i pozdr - 5s
PS: To mój pierwszy post tutaj - więc w razie czego proszę o wyrozumiałość (mam nadzieję, że niczym nie zgrzeszyłem:) - informacji tej szukam od 2 dni.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Przy evencie success swojego ajaxowego wywołania daj coś takiego:
[JAVASCRIPT] pobierz, plaintext
  1. var regexp = new RegExp('<div.*?id="txt1">.*?</div>', 'is');
  2. var data = regexp.exec(msg); //msg to kod ze strony tresc.html zaladowany ajaxem
  3. alert(data[0]); // w data[0] będziesz miał swojego diva
[JAVASCRIPT] pobierz, plaintext


Trochę dziwną drogę do tego wybierasz, ale jak nie możesz inaczej to zrób tak smile.gif

Życzę miłego pobytu na forum.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
cim
post
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

może spróbuj czegoś takiego:
Kod
$('#result').load('tresc.html #txt2');

wtedy jQuery pobierze dokument z linka i sprawdzi go pod kątem selektora, który podajesz po spacji, więcej: http://api.jquery.com/load/ -> Loading Page Fragments

Pozdrawiam


--------------------
errare humanum est
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


@cim twój sposób jest lepszy, nie wiedziałem, że można tam selektorów używać wink.gif


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
5skakanek
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 5.04.2011

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


No jasne, wystarczyło wejść na API jQuery; ) Ale nie przyszło mi do głowy, że load(); wykorzystuje tak banalne rozwiązania. Dzięki chłopaki za oba sposoby!
Robię to w ten sposób, żeby ubezpieczyć stronę w przypadku braku obsługi skryptów i dla robotów - jeśli skrypty są obsługiwane, wyniki ładują się na str głównej a jeśli nie - link prowadzi do podstrony z własnymi stylami, formatowaniem i linkami ale z tą samą treścią. Dzięki temu nie muszę tworzyć dwóch oddzielnych plików z takim samym tekstem.
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: 20.08.2025 - 13:45