javascript - 如何将变量从模板工具包文件传递到 javascript 文件?

标签 javascript html perl templates

我正在从事基于 Web 的项目,该项目使用 PERL、HTML、JAVASCRIPT 和 TEMPLATE TOOL KIT 开发。我们使用 mysql 作为后端。

我们从特定表中获取值到 Perl 中的哈希结构。使用该结构的值,我们处理模板文件,其中还包含 JavaScript 内容。

例如:假设 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 访问该变量,但没有成功。

所以任何人都可以帮助我解决这个问题。提前致谢。 请帮我。

最佳答案

在加载脚本之前将其定义为 javascript 变量:

[% IF i %]
var i = [% i %];
[% END %]

现在您的所有脚本都可以将其作为全局变量访问。 (不过我建议你给它起一个更具描述性的名字)

关于javascript - 如何将变量从模板工具包文件传递到 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999249/

相关文章:

javascript - 将单选按钮更改为图像会导致 jquery 验证丢失

html - 在这种情况下,checkbox value = '1' 不起作用的是什么?

javascript - HTML/CSS 动画 - JavaScript

javascript - 中止 xmlhttp 请求

xml - 什么版本的 XPath 在 XML::LibXML 中实现?

javascript - 为什么 `{} + 1` 在 Chrome 和 Firefox 中获得数字 1,但在 Node.js 中获得字符串 '[object Object]1'?

javascript - 有没有办法在 jQuery 中执行 'scoped' add()?

perl - Perl的postfix `for`语法在哪里记录?

Perlbrew 列表和错误的版本号

javascript - 将 Float32Array 转换为 16 位 float 组缓冲区 JavaScript