我在基于Web的项目中工作,该项目是用PERL,HTML,JAVASCRIPT和TEMPLATE TOOL KIT开发的。我们使用mysql作为后端。
我们将特定表中的值提取到Perl中的哈希结构。使用该结构中的值,我们处理模板文件,其中也包含JavaScript内容。
对于Ex:比如hash {i} = 5; 在模板工具包文件(.tmpl文件)中:
[% IF i == 5 %]
<script type="text/javascript" src="[% js_link('five.js') %]"></script> [% END %]
[% IF i == 10 %]
<script type="text/javascript" src="[% js_link('ten.js') %]"></script> [% END %]
现在问题,我有一种情况,我必须在JS文件中使用“i”值来切换代码,删除多个文件的来源。
[% IF i %]
<script type="text/javascript" src="[% js_link('common.js') %]"></script> [% END %]
内部JavaScript文件:
if( i == 5) {
lang_array['i'] = 'FIVE';
}else if( i == 10) {
lang_array['i'] = 'TEN';
}
// using the above array some more calculation follows
我尝试在模板文件中保存隐藏变量,然后尝试通过getElementByName访问变量,但不成功。
所以任何人都可以帮助我。提前致谢。 请帮我。
答案 0 :(得分:6)
在加载脚本之前将其定义为javascript变量:
[% IF i %]
var i = [% i %];
[% END %]
现在,您的所有脚本都可以将其作为全局变量访问。 (我建议你把它命名为更具描述性的东西)
答案 1 :(得分:0)
试试这个:
var ttVars = {};
ttVars.i = [%i%] || 0;