2011-09-19 48 views
0

我无法调用一个ASP的onload事件的JavaScript功能按钮:按钮无法调用JavaScript函数的onload一个ASP:使用ASP.NET4

HTML

<asp:Button ID="btnFromCalOpen" runat="server" Text=" &gt; " onLoad = "AllHide()" OnClientClick ="ShowCal()" /> 

的Javascript

function AllHide() { 
     alert("Hello"); 
    } 

请帮忙

+0

我想隐藏asp:button而不使用CSS或serverside编码。如何隐藏这个加载控件,并感谢您的回复。 – Nabeel

+0

请参阅下文,您需要使用'style'属性隐藏控件。虽然这仍然是CSS,但您可以使用JavaScript直接控制它 – Kirk

回答

1

您将需要使用JavaScript切换样式,就像你在尝试摹

<asp:Button ID="btnFromCalOpen" runat="server" Text="" OnClientClick ="ShowCal()" style="display:none;visiblity:hidden;" /> 

原文评论使用JavaScript任何按钮你不能这么做onLoad。你希望完成什么?我们可以帮助找出解决方案。

+0

我想隐藏asp:button而不使用CSS或服务器端编码。如何隐藏这个加载控件,并感谢您的回复。 – Nabeel

+0

再次感谢科克的风格工作可见= Flase不会工作,因为那时我不能从Javascript中撤回它:) – Nabeel

+0

使用CSS有什么问题? – JohnFx

0

你不能那样做。

这是为什么。在ASP.NET中,控件的OnLoad事件在服务器正在构建页面时(在Web服务器上),但在将其发送到浏览器(在用户的计算机上运行)之前触发。

Web服务器上的代码无法直接调用浏览器计算机上的代码(它甚至还没有获得页面)。

如果你只想隐藏控制,只是这样做在你的标记:

<asp:Button ID="btnFromCalOpen" runat="server" Text=" &gt; " visible="false" OnClientClick ="ShowCal()" /> 

另一种方法(隐藏控件不占用空间):

<asp:Button ID="btnFromCalOpen" runat="server" Text=" &gt; " style="display:none;" OnClientClick ="ShowCal()" /> 

另一种方法(隐藏控件占用空间)

<asp:Button ID="btnFromCalOpen" runat="server" Text=" &gt; " style="visibility:hidden;" OnClientClick ="ShowCal()" /> 
+0

如果我设置visible = false,那么javascript将不会再使其可见 – Nabeel

+0

然后只需将其设置为元素上的样式即可。坚持下去,为我的答案增加一个例子。 – JohnFx

0

您可以在页面级别执行此操作。该页面有一个javascript onload事件。