Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wydobycie potrzebnej wartości
Forum PHP.pl > Forum > Po stronie przeglądarki
tdzierza
Witam.

Pobieram sobie z <iframe> </iframe>
poprzez operacje:

var ok = document.getElementById("obrazek").contentWindow.document.body.innerHTML;

otrzymuje przykladowo:

<img src="obrazek1.jpg" width="100" height="100"><img src="obrazek2.jpg" width="100" height="100"><img src="obrazek3.jpg" width="100" height="100">

Potrzebuje wyslac do bazy tylko wartosc: obrazek1.jpg, obrazek2.jpg, obrazek2.jpg

Probowalem w ten spsoob:

podzial = ok.split('">');

i substringiem ewentualnie wycyrklowac, ale to jest zbyt statyczne w momecie gdy obrazkow bedzie duzo np , obrazek144 ...

Jeżeli ma ktoś jakiś dobry sposób to będe wdzięczny.
andrew1985
Ja bym się nie męczył w czystym JS tylko użył do tego biblioteki JQuery
I przykładowo wyglądało by to tak:

var ok = $("#obrazek img") //i masz liste obrazków w elemencie o ID obrazek

i teraz pętlą lecisz po ścieżkach wyciągająć to tak ok[0].src
tdzierza
Witam.
Na początku dzięki za odpowiedź.

I musz przyznać ze JQuery ma potencjał.

Niestety nie rozwiązał mojego problemu, być może coś źle robie ...

Po wykonaniu:
var ok = $("#obrazek img")

i podaniu alert(ok);

Nie zwraca rzadnego obiektu tylko undefined ....

Po wykonaniu samego
var ok = $("#obrazek")

jest ok.

Być może ten element <img> w <iframe> nie jest traktowany jako lisc drzewa w strukturze DOM. Poniewaz przy zastosownaiu bezposrednio zwyklej skladni DOM tez nie mozna sie tam dostać, wydaje mi sie iz uzywamy ścierzki jakby od kolejnego korzenia dla <iframe> czyli document.body.innerHTML
nowotny
Jeśli dobrze zrozumiałem to teraz w ok masz tablice więc alert(ok) nic ci nie da... musisz się przelecieć po tablicy...
tdzierza
Sprawdzalem:

alert(ok[0]); ---> undefined

alert(ok[0].src) ----> Konsola bledow: ok[0] has no properties

dry.gif
smialy
  1. var body = document.getElementById("obrazek").contentWindow.document.body;
  2. var imgs = body.getElemetnsByTagName('IMG');
  3. var src = [];
  4. for(var i = 0 ,l = imgs.length;i < l;++i)
  5. src.push(imgs[i]);
tdzierza
Super , takie rozwiązanie jak najbardziej działa guitar.gif

jeszcze w getElementByTagName jest literówka ---> getElementsByTagName
(być może komuś się na przyszłość przyda)

Temat uważam za zamknięty.

Wszystkim dzięki za odpowiedzi.
Pozdrawiam.
specialplan
Cytat(tdzierza @ 5.02.2008, 14:58:00 ) *
Sprawdzalem:

alert(ok[0]); ---> undefined

alert(ok[0].src) ----> Konsola bledow: ok[0] has no properties

dry.gif


A dodales biblioteki jQuery do skryptu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.