<script>
var word = new Array(); word[1] = 'new'; word[2] = 'old';
</script>
<script src="javascript/validator.js" type="text/javascript"></script>
而且,在validator.js中我们有:
function validate(number){
alert(word[number]);
}
如何捕获变量值? 我总是得到一个错误,说变量不存在。
答案 0 :(得分:1)
你几乎得到了它。
这是我管理多语言讯息的方式:
首先,我在页面顶部定义了数组;尽可能接近HEAD标签
<script type="text/javascript">
var resx = {};
</script>
然后,我使用您使用的任何方法从数据库中获取值来填充数组。在这个例子中,我使用ASP.NET MVC。
<script type="text/javascript">
resx["word1"] = '@Model.word1';
resx["word2"] = '@Model.word2';
//or you can fill it directly
resx["word3"] = 'Name';
resx["word4"] = 'Nombre';
</script>
<script src="javascript/validator.js" type="text/javascript"></script>
然后在js文件中使用您想要的方式:
validate(“word2”);
function validate(value){
alert(resx[value]);
}
//Or:
alert(resx[“word3”]);
我希望这有帮助。
答案 1 :(得分:0)
首先,跨文件引用全局变量可能不是一个好主意。对于其他团队成员或维护人员来说,追踪它们可能会让人感到困惑。我建议总是将所有必要的值传递给函数。这准确记录了该功能所需的内容。试试这个,
<script src="javascript/validator.js" type="text/javascript"></script>
<script type="text/javascript">
var word = new Array('new', 'old');
validate(word, 0);
</script>
在validator.js
:
function validate(w, n){
alert(w[n]);
}