Как передать переменную из файла набора инструментов шаблона в файл JavaScript? - PullRequest
1 голос
/ 09 августа 2011

Я работаю в веб-проекте, который разработан в PERL, HTML, JAVASCRIPT и TEMPLATE TOOL KIT. мы используем mysql в качестве серверной части.

мы выбираем значения из конкретной таблицы в хеш-структуру в Perl. Используя значение из этой структуры, мы обрабатываем файлы шаблонов, которые также содержат контент JavaScript.

Например, скажем, хэш {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 %]

Теперь проблема, у меня возникла ситуация, когда я должен использовать значение «i» внутри файла JS для переключения между кодом, удаляя источники нескольких файлов.

[%  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, но безуспешно.

Так может кто-нибудь помочь мне в этом. Заранее спасибо. Пожалуйста, помогите мне.

Ответы [ 2 ]

6 голосов
/ 09 августа 2011

Определите его как переменную javascript перед загрузкой скрипта:

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

Теперь все ваши скрипты могут обращаться к нему как к глобальной переменной.(Я бы посоветовал вам назвать это более информативным)

0 голосов
/ 08 июля 2013

попробуйте это:

var ttVars = {};

ttVars.i = [% i%] ||0;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...