Problem sa poređenjem stringa

Problem sa poređenjem stringa

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Napisano: 04 Dec 2010 17:14

Imam problem jer mi uopšte drugi "if" upitnik ne prolazi iako promenljiva idshown ima vrednost "bend".

var item = document.getElementById("dynamictext"); var idshown = "bend"; var BandText = ""; function LoadMemberText(memberid) {    if (idshown != memberid.toString())    {       if (idshown=="bend")       {          BandText = item.innerHTML;       }       xmlhttp=new XMLHttpRequest();       xmlhttp.open("GET","getmembertext.php?id="+memberid,true);       xmlhttp.send();       xmlhttp.onreadystatechange=function()       {          if (xmlhttp.readyState==4 && xmlhttp.status==200)          {              item.innerHTML=xmlhttp.responseText;              idshown = memberid.toString();          }       }    }    else    {       idshown = "bend";       item.innerHTML = BandText;    } }

Dopuna: 04 Dec 2010 17:18

Negde na internetu sam pročitao da ne može to ovako da se radi jer ja String objekat poredim sa samim stringom, ali ne umem ovo da sredim.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

A da promenjivoj dodelis vrednost u sklopu same funkcije i da probas?



offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Ne mogu,treba mi da ostane i posle pokretanja funkcije.

Radim sajt za bendove i kad se otvori stranica stajaće informacije o bendu unutra. Kada se klikne slika nekog člana treba da zapamti šta je pisalo o bendu i otvori informacije o tom članu. E, onda ako se klikne da se ugase informacije o članu, nema potrebe da on ponovo učitava ono o bendu, nego samo da izvuče iz promenljive.

Zato mi je potrebno da mi ostane to kao "globalna" promenljiva. Ili kako je već ime Smile

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

To mi je bilo jasno od samog pocetka. Mislio sam da probas, cisto da bi smo utvrdili da li je do "vidljivosti" promenljive ili do komparacije stringova.

Ako je do vidljivosti, onda mozes da prepravis funkciju tako da u pozivanju prihvata dve promenljive:
function LoadMemberText(memberid, idshown)
s tim sto promenljivu idshown nazvati nekako drugacije.

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

var item = document.getElementById("dynamictext");
Ubaci to u funkciju.

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Usepelo je ovo što je marko rekao. Radi bez problema sad. Može li samo objašnjenje zašto je smetalo to što je to bilo deklarisano van funkcije ?

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Ništa posebno, samo nešto što praktikujem dok kuckam neku skriptu. Pre nego da pozoveš funkciju, otvori Developer tools u Chrome, onda klikni/pozovi funkciju i posmatraj šta se dešava kad je promenljiva item van i unutar funkcije. Videćeš grešku "Uncaught TypeError: Cannot set property 'innerHTML' of null".

Kad deklarišeš van funkcije i dodeliš vrednost onda mu to dođe kao lokalna promenljiva.
Možeš ispred funkcije da dodaš samo var item; pa će postati globalna, a u funkciji joj dodeliš vrednost (bez var). Dođe mu nekako isto. Nadam se da si razumeo?

offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1009
  • Gde živiš: Beograd

Tu i tamo jesam, ali ovo za chrome developer tools nisam nikad koristio, definitivno ću to ispitati malo Very Happy

Ko je trenutno na forumu
 

Ukupno su 863 korisnika na forumu :: 9 registrovanih, 0 sakrivenih i 854 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bluper, bojank, goxin, havoc995, mgolub, milenko crazy north, Ne doznajem se u oružje, robytz, wizzardone