2012-07-28 51 views
0

嗨,當我想知道,這是預期的行爲:模板HTML返回服務器錯誤遇到一個未定義的變量

<html> 
    <head> 
    </head> 
    <body> 
    <?if(a){ 
     Logger.log("a ="+a)?> 
     <table> 
     <tr> 
      <th>First Name</th> 
      <th>Last Name</th> 
      <th>Id</th> 
     </tr> 
     <tr> 
      <td><input type='text' name=firstName id='firstNameToEdit' /></td> 
      <td><input type='text' name=lastName id='lastNameToEdit' /></td> 
      <td><label id='down_id'></label></td> 
     </tr> 
     </table> 
    <?}else{Logger.log("a="+a)}?> 
    </body> 
</html> 

當被定義我得到了一個價值日誌和萬物中顯示爲預計 ,但是當我離開未定義的執行似乎停止在如果(一)和日誌什麼也沒有顯示。

我擔任這樣的HTML:

var t = HtmlService.createTemplateFromFile('test'); 
    return t.evaluate(); 

當我這樣爲它服務:

var t = HtmlService.createTemplateFromFile('test'); 
    t.a = b; 
    return t.evaluate(); 

其中(B:{未定義,爲null}) 那麼如果我登錄的價值在html模板中我得到了a = null(在這兩種情況下)。 看起來你不能在模板中有一個未定義的變量。

P.S.我會很感激的方式來關閉自動identation在編輯器中

回答

1

如果運行在編輯器中doGet()方法,你應該會看到錯誤:

ReferenceError: "a" is not defined.

在JavaScript中,你不能引用不存在的變量。要解決這個你可以,如果情況改變:

<? if (this.a) { 

由於this總是被定義爲當前對象/範圍。

+0

謝謝你的回答 – 2012-07-31 15:34:14

相關問題