Poslao: 04 Dec 2010 17:18
|
offline
- igorpan
- Super građanin
- 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.
|
|
Poslao: 04 Dec 2010 17:51
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
A da promenjivoj dodelis vrednost u sklopu same funkcije i da probas?
|
|
|
|
Poslao: 04 Dec 2010 21:04
|
offline
- igorpan
- Super građanin
- 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
|
|
|
|
Poslao: 04 Dec 2010 22:36
|
offline
- bobby
- Administrator
- 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.
|
|
|
|
Poslao: 04 Dec 2010 22:41
|
offline
- MSMarkoN
- Ugledni građanin
- Pridružio: 15 Maj 2006
- Poruke: 333
- Gde živiš: Babušnica
|
var item = document.getElementById("dynamictext");
Ubaci to u funkciju.
|
|
|
|
Poslao: 05 Dec 2010 00:25
|
offline
- igorpan
- Super građanin
- 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 ?
|
|
|
|
Poslao: 05 Dec 2010 01:21
|
offline
- MSMarkoN
- Ugledni građanin
- 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?
|
|
|
|
Poslao: 06 Dec 2010 19:54
|
offline
- igorpan
- Super građanin
- 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
|
|
|
|