【发布时间】:2014-08-11 17:35:44
【问题描述】:
大家好,我在我的 javascript 文件中声明了一个全局变量。然后我在本地函数中为全局变量赋值。然后当我试图在其他函数中访问该全局变量的值时,该死的警报框是显示“未定义”。有什么方法可以访问其他函数中的局部变量的值。我不想从另一个函数调用该函数并用它发送参数。我只想访问一个函数的局部变量进入另一个功能。 希望有人带我摆脱困境。
谢谢你们。
代码
var user_glob;
var pass_glob;
function osmlogin() {
var user = document.getElementById('uname').value;
var passw = document.getElementById('pwd').value;
user_glob = user;
pass_glob = passw;
if (user == '') {
document.getElementById('wrong_pwd').innerHTML = 'Please give your email_id';
}
else if (passw == '') {
document.getElementById('wrong_pwd').innerHTML = 'Please give your password';
}
else {
var data =
{
username: user,
pass: passw
};
$.getJSON('some url?jsonp=?', data, function (data) {
check = JSON.stringify(data['key1']);
if (check == 1 && user != '' && passw != '') {
window.location.href = "#page-dashboard";
}
else {
// alert(check);
document.getElementById('wrong_pwd').innerHTML = 'Wrong Username or Password';
}
});
}
}
现在我想在这个函数中使用那个全局变量
function announcement_view()
{
var user =user_glob;
var passw = passw_glob;
var data = {
username: user,
pass:passw
};
$.getJSON('some url?jsonp=?', data, function (data) {
var check = JSON.stringify(data['key1']);
alert(JSON.stringify(data['key1']));
alert(JSON.stringify(data['key2']));
if (check == 0 && user == '' && passw == '')
{
//alert(user_glob);
window.location.href = "#page-home";
}
});
}
【问题讨论】:
-
这应该根据您的描述工作,但是如果您显示一些代码,它可能会变得清晰。
-
这正是@RobSchmuecker 所说的。我写了一个关于它的jsfiddle:jsfiddle.net/chrisbenseler/5fhyamfu如果你写一些代码给我们看看会更好。
标签: javascript jquery jquery-ui jquery-mobile