2012-07-28 52 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

相关问题