0

这个我用过

<a title="Logout" onclick="javascript:document.getElementById('ctl00_ContentPlaceHolder1_LbLogout').click();" href="#" class="logout">Logout</a></li>
<asp:LinkButton ID="LbLogout" runat="server" style="display:none"
   onclick="LbLogout_Click">Sign out</asp:LinkButton>

锚标记似乎没有触发我的链接按钮 onclick 事件......

4

2 回答 2

2

检查是否有任何 javascript 错误。还要查看页面源代码,看看您的控件和您的 javascript 代码之间的 id 是否匹配。尝试将控件名称更改为使用 UniqueID 而不是来自控件而不是直接编码,以防它具有不同的命名模板层次结构。

<a title="Logout" onclick="javascript:document.getElementById('<%= Lblogout.UniqueID %>').click();" href="#" class="logout">Logout</a></li>
于 2010-08-10T05:20:42.823 回答
0

除了命名问题:

  • 您必须return false从链接onclick处理程序,否则#链接将被跟踪,取消可能从其他链接单击发生的任何导航(并将页面滚动到顶部);

  • 不要javascript:在事件处理程序属性中使用前缀。他们什么都不做。您正在考虑javascript:伪 URL。无论如何都不应该使用它;

  • 您无法通过调用链接来激活链接的默认操作(导航页面)click()。所要做click()的就是执行任何onclick与之相关的 JS 动作。如果要导航页面,则必须通过设置手动进行location.href= link.href

  • 不要将链接用于具有主动效果的内容,例如注销。它应该是一个普通的类似表单的按钮。您始终可以使用 CSS 对其进行样式设置,使其看起来像一个链接。

于 2010-08-10T11:31:43.117 回答