tags:

views:

267

answers:

2

I'm using a global variable in javascript, declared in a script tag outside any function:

<script type="text/javascript">
        var prov_status_dict={};
        ....
</script>

Later on in a javascript method I'm using the variable normally.

temp=prov_status_dict[current_as_id];

I'm having issues with it on opera and ie, while on firefox it works. This is what opera's error console reports:

JavaScript - http://localhost:8000/input/
Event thread: click
Error:
name: ReferenceError
message: Statement on line 62: Undefined variable: prov_status_dict
stacktrace: n/a; see  opera:config#UserPrefs|Exceptions Have Stacktrace

I've noticed that the problem is with global variables in general. I tryed moving some into hidden fields, but the same error pops up on the next use of a global var.

Help?

+2  A: 

I usually access my globals through the window object so that I always have a point of reference

window.MyVariables = {};
window.MyVariables.prov_status_dict = {};

Give this a try, it might resolve your problem.

Bob
A: 

Try to avoid using global variables, see http://yuiblog.com/blog/2006/06/01/global-domination

nickyt