如何在onload事件中触发else子句?

时间:2011-11-21 00:17:11

标签: javascript

我的Google App Engine应用中有Comments句柄来显示评论。如果用户(此处定义为“选择器”)不在localStorage中,我想停止加载页面。

我收到前2个提醒:"load event"chooser: "undefined"。由于“选择器”未定义,我希望触发else子句,但我没有在else子句中得到警告。

此外,显示有序列表中的第一项,但不显示其余项。所以我假设加载页面存在问题。我该如何解决这个问题?

class Comments(webapp.RequestHandler):
    def get(self):
        self.response.out.write("""
<html>
  <head>
    <title>Choices</title>
<script type="text/javascript">

function showChoices ()

{ 

  alert("load event"); 
  var chooser = localStorage.getItem("chooser"); 
  alert("chooser: " + chooser);

  if (chooser) 
  { 
    document.getElementById("topten").style.display="inline"; 
  }
  else 
  { 
    alert("else triggers"); 
    document.write("get an invitation"); 
  } 
}

  window.onload = showChoices;

      </script>

  </head>

  <body>
    <div class="content">""")

        #python code:
        query = Users.all()
        e = query.fetch(10)
        self.response.out.write("""<ol>""")
        for item in e:
            self.response.out.write("""
            <div id="topten" class="title" style="display:none">

                <li>%s (<span class="small">%s</span>)</li>

            </div>
            <hr><br />""" 
            % tuple([item.choice, item.owner]))
        self.response.out.write("""</ol>""")
        self.response.out.write("""
    </div>

  </body>
</html>""")

1 个答案:

答案 0 :(得分:1)

你确定选择器是未定义的而不是字符串文字“未定义”吗?

请参阅this fiddle i made