添加window.onload后,子菜单不显示

时间:2012-12-04 06:25:52

标签: c# javascript asp.net

在我添加这些代码行后,我的子菜单不会显示,我该怎么办?

在我添加此代码之前,我的子菜单工作得很好,我怀疑的问题是window.onload。

以下代码与我想要的结果完美配合,但它为我创建了另一个问题,即我的子菜单不再显示

  window.onload = function() 
  {
    var element = document.getElementById('<%=lblMessage.ClientID%>');
    var lblMsg = document.getElementById('<%=lblAttention.ClientID%>');

    lblMsg.style.display = 'none';


    if(element.innerHTML.length)
        lblMsg.style.display = 'inline';
    else
        lblMsg.style.display = 'none';

}

浏览器中显示的错误消息

javascript:__doPostBack('ctl00$m$g_0248855d_ee1a_4a57_9508_a520e1f7f8b9$ctl00$MenuReport','Report')

1 个答案:

答案 0 :(得分:0)

这是一个建议

查看页面来源

如果您有类似

的内容
<body onload="somefunctiontoinitialisesubmenu()" ...>

将代码移动到onload上,如下所示:

window.onload = function() {
  var elem = document.getElementById('<%=lblMessage.ClientID%>');
  var lblMsg = document.getElementById('<%=lblAttention.ClientID%>');
  var html = elem.innerHTML;
  lblMsg.style.display = html.length!=-1?'inline':'none';
  somefunctiontoinitialisesubmenu();
}