我有一个网页,可以根据文本输入字段中的用户“keyup”事件即时进行一些计算。这是一个动态构建的相当大的页面,所以我必须保留一个值的哈希/数组,我可以从页面内的其他位置引用这些值。
所以在页面顶部我正在这样做 -
var itemBalanceHash = new Array();
var itemID_2_POIDHash = new Array();
var currentPODocumentID;
var warningArray = new Array();
然后我继续定义一些使用我刚刚定义的变量的函数。然而,直到我完成定义这些函数之后,这些变量才开始被使用(即填充了东西。)
<script type="text/javascript">
itemBalanceHash["${topitem.itemIdentifier}"]="${topitem.itemOutstandingEncumberedAmount}";
itemID_2_POIDHash["${topitem.itemIdentifier}"] = currentPODocumentID;
</script>
这个脚本块出现在我的页面中间,因为它正在构建。事实上,它会被多次调用,具体取决于我需要填充多少行(来自数据库的查询的结果集)。
无论如何 - 这在 Firefox 中效果很好。但是,它不适用于 IE8、Chrome 或 Safari。我没有在旧版本的 IE 中测试过这个;但我认为它也不会在那里工作。
Internet Explorer 调试器给我的错误消息是这样的
“itemBalanceHash 未定义”
所以,我的问题是:这是一个范围界定问题吗?
Firefox 似乎在某处纠正了我的错误,但在哪里?
如有必要,我可以提供更多代码。谢谢你的帮助!
非常感谢!