无法从按钮onclick事件ASP.NET 4调用Javascript函数

时间:2011-09-19 21:42:02

标签: javascript asp.net

当我从asp:button onclick事件调用JavaScript函数时,我收到此错误消息

HTML

<asp:Button ID="btnFromCalOpen" runat="server" Text=" &gt; "  onclick="ShowCal()"  CssClass = "SElementHide" />

的Javascript

function ShowCal() {

    var elem = document.getElementById('MainContent_CalendarFrom');
    if (elem.visibility = "hidden" )
    {
    elema.style.visibility = "visible";
    elema.style.display = "block";
    }
    else
    {
    elema.style.visibility = "hidden";
    elema.style.display = "none";
    }
}

错误 编译器错误消息:BC30456:'ShowCal'不是'ASP.default_aspx'的成员。

请帮助

3 个答案:

答案 0 :(得分:26)

在调用服务器端方法之前,使用OnClientClick让ASP.NET按钮运行JavaScript方法。 OnClick指定要运行的服务器端方法。

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

答案 1 :(得分:0)

您是否尝试过OnClientClick属性?

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx

此外,这看起来不正确:

if (elem.visibility = "hidden")

应该更接近:

if (elem.style.visibility == "hidden")

您是否也在寻找按钮以防止回发?然后,在ShowCal javascript函数中返回false。

答案 2 :(得分:0)

使用OnClientClickonclick用于服务器端处理程序。

您还需要查看elem.style.visibility

您还在js函数中创建elem,然后尝试访问elema