Chcę napisać wyszukiwarkę obiektów JS:
licz = 4;
function wypisz(obiekt, szukane)
{
zawartosc = new Array()
for(j in obiekt) zawartosc.push(j);
tabStr = zawartosc.join();
if(tabStr.length>1) obiekt = "<a href=\"javascript:szuk('"+szukane+"."+obiekt+"')\" target='_self'>"+obiekt+"</a>";
zapis = (((licz++)+2)%3==0)?"<tr><td>"+obiekt+"</td>":
(((licz+1)%3==0)?"<td>"+obiekt+"</td></tr>":"<td>"+obiekt+"</td>");
licz++;
return zapis;
}
function szuk(szukane)
{
if(!szukane) szukane = document.formularz.szukaj.value;
if(!eval(szukane)) zapis = "<b>Nie odnaleziono objektu "+szukane+":</b><br/>";
else
{
zapis = "<b>Wyniki przeszukania objektu "+szukane+":</b><br/><table cellpadding='0' cellspacing='10' border='0'>";
obiekt = eval(szukane);
for(i in obiekt) zapis += wypisz(i, szukane);
zapis += "</table>";
}
document.formularz.szukaj.value = szukane;
document.getElementById("wynik").innerHTML = zapis;
licz = 0;
}
Wszystko niby działa dobrze tylko w funkcji wypisz() przy przeszukiwaniu obiektu "location" instrukcja:
for(j in obiekt) zawartosc.push(j);
wstawia do tablicy cyfry od zera wzwyz zamiast href, host itd
Wydaje mi się to bardzo dziwne bo w funkcji szuk() instrukcja:
for(i in obiekt) zapis += wypisz(i, szukane);
dodaje do ciągu objekty a jest skonstruowana tak samo [???]
Czy ktoś mógłby mi pomóc??