2016-07-29 38 views
0

我有一個config.js文件中的變量:定義HTML中的變量,並傳遞到一個js文件

var version_number=1.0; 

現在我希望發生的是讓這個變量在此模板,顯示文件:

var arrival_template = " [== Start of Message]\n \ 
[REPORT TYPE           : ARRIVAL REPORT] \n \ 
[Version            : <#$version#>] \n \ 
SECTION            : Parcel #] \n \ 
[Parcel Name           : <#$parcelname$#>] \n \ 
[IMO Number           : <#$imo$#>] \n \ 
[Call Sign           : <#$call_sign$#>] 

\ n \ [==消息完]「;

什麼中的值到template.gs文件填滿是一個html頁面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en" > 
    <head> 
     <script src="js/templates/template.js"></script> 
     <script type="text/JavaScript" src="js/config.js"></script> 
     <script type="text/JavaScript" src="js/html_util/parcel.js"</script> 
    </head> 

    <body> 
     <div id="parcel_info_section" sytle="border:none;font-family:arial;font-size:0.8em;"> 
     <hr> 
     <table width=100% border=0> 
      <tr> 
       <td align=center><label style="font-family:arial;font-weight:bold;font-size:1.2em;color:#000080;">Parcel</label></td> 
       <td width=30%>&nbsp;</td> 
      </tr> 
      </table> 
      <table width="840px" align="center" cellspacing=0 cellpadding=0 border=2> 
      <tr><td colspan="3"><span id="parcel_body"></span></td></tr> 
      </table> 
     </div> 


    </body> 
</html> 

我應該在頭部或身體中放置什麼以允許將config.js中定義的變量傳遞到模板中?這個配置文件包含了一系列網站中不變的信息,這就是爲什麼我要將這些信息存儲在配置文件中的原因。

在模板文件<#$ version#>的輸出中應該基於我在config.gs文件中定義了var version = 1.0的事實。

+1

你是什麼意思傳遞變量?如果您已將腳本包含在頁面的標題中,那麼在頁面加載完成後,該變量將可用於其他js腳本。 – Polyov

+0

如何使template.js工作,以顯示config.js文件中定義的變量的值? – jms1980

回答

1

首先,您需要妥善包括配置,包括parcel.js腳本標籤缺少結束>:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en" > 
    <head> 
     <script src="js/templates/template.js"></script> 
     <script type="text/JavaScript" src="js/config.js"></script> 
     <script type="text/JavaScript" src="js/html_util/parcel.js"></script> 
    </head> 

    <body> 
     <div id="parcel_info_section" sytle="border:none;font-family:arial;font-size:0.8em;"> 
     <hr> 
     <table width=100% border=0> 
      <tr> 
       <td align=center><label style="font-family:arial;font-weight:bold;font-size:1.2em;color:#000080;">Parcel</label></td> 
       <td width=30%>&nbsp;</td> 
      </tr> 
      </table> 
      <table width="840px" align="center" cellspacing=0 cellpadding=0 border=2> 
      <tr><td colspan="3"><span id="parcel_body"></span></td></tr> 
      </table> 
     </div> 


    </body> 
</html> 

的config.js被定義變量,你應該能夠做財產以後像這樣在你的模板:

var arrival_template = " [== Start of Message]\n \ 
[REPORT TYPE           : ARRIVAL REPORT] \n \ 
[Version            : <#$" + version_number + "#>] \n \ 
SECTION            : Parcel #] \n \ 
[Parcel Name           : <#$parcelname$#>] \n \ 
[IMO Number           : <#$imo$#>] \n \ 
[Call Sign           : <#$call_sign$#>] 
\n \ [== End of Message]"; 

假設這就是你真正想要放置的價值 - 也不太清楚,有點含糊,但希望這有助於。

+0

當我按照您在我的模板中建議的內容進行操作時,該功能無效。我必須按一個提交按鈕,然後用變量填充變量,包括$ imo $ callsign,$ parcelname等等。這些值是從parcel.js中的表中輸入的。$ version_number是基於config.js文件定義的。 – jms1980