当我从asp:button
onclick
事件调用JavaScript函数时,我收到此错误消息
HTML
<asp:Button ID="btnFromCalOpen" runat="server" Text=" > " 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'的成员。
请帮助
答案 0 :(得分:26)
在调用服务器端方法之前,使用OnClientClick
让ASP.NET按钮运行JavaScript方法。 OnClick
指定要运行的服务器端方法。
<asp:Button ID="btnFromCalOpen" runat="server"
Text=" > " 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)
使用OnClientClick
。 onclick
用于服务器端处理程序。
您还需要查看elem.style.visibility
。
您还在js函数中创建elem
,然后尝试访问elema
。