JavaScript globalne spremenljivke ?

najprej definiram:

var foo = "";

in potem imam neko ajax funkcijo, ki ob koncu izvrši

onSuccess:handlerFunc, onFailure:errFunc

ti dve funkciji sta pa definirani tako

var handlerFunc = function(t) {
if(t.responseText != 'ok'){
foo = "napaka";
}
else{
foo = "ok";
}
Problem je v tem, da spremenljivka foo vedno ostane prazna.
Če pa namesto
foo = "napaka"; napišem alert("napaka"); pa izpiše alert....

help plz

4 odgovori

še komplet scriptaculous ajax request, ki ga kličem.....

new Ajax.Request('blabla.php', {asynchronous: true, method: 'post', parameters:'username='+$('username').value, onSuccess:handlerFunc, onFailure:errFunc});

uglavnem preveriti hočem par fieldov in če vse štima poslat formo :)

blackmamba, kje definiras 'var foo = "";'? Ce jo definiras znotraj neke funkcije, je spremenljivka lokalna funkciji.

Malo vec o variable scope v javascriptu:
Variable Scope

Za konkretno resitev tvojega problema pa podaj malo vec podatkov, ce ze ne vso kodo.

jaja Vini hvala... znotraj funkcije je bila definirana foo spremenljivka.... kako teslo sem :)
hvala, prišparal si mi N ur.....

počas ti bo že res treba kak malinovc v kiberpipi plačat

Malinovec vedno prav pride :)