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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7477647/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 02:25:48  来源:igfitidea点击:

Cant call Javascript function from button onclick event ASP.NET 4

javascriptasp.net

提问by Nabeel

when ever i call a JavaScript function from asp:buttononclickevent i got this error message

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

HTML

HTML

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

Javascript

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";
    }
}

Error Compiler Error Message: BC30456: 'ShowCal' is not a member of 'ASP.default_aspx'.

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

Please Help

请帮忙

回答by p.campbell

Use OnClientClickto have your ASP.NET button run a JavaScript method before calling its server-side method. OnClickspecifies the server side method to run.

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

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

回答by Kris Krause

Have you tried the OnClientClickproperty?

你试过OnClientClick物业吗?

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

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

Also, this does not look correct:

此外,这看起来不正确:

if (elem.visibility = "hidden")

Should be closer to:

应该更接近:

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

Are you also looking for the button to prevent post back? Then, return false in your ShowCal javascript function.

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

回答by lincolnk

use OnClientClick. onclickis for a server side handler.

使用OnClientClick. onclick用于服务器端处理程序。

also you need to check elem.style.visibility.

你也需要检查elem.style.visibility

also you're creating elemin your js function and then trying to access elema.

您也在elemjs 函数中创建,然后尝试访问elema.