在这个“onclick”工作但它没有调用javascript函数。请帮助如何同时执行onclick和onclientclick。
<asp:Button ID="btnFare" OnClientClick="return initialize();" runat="server" Text="Calculate Fare" onclick="btnFare_Click"/>
请提出解决此问题的方法。
提前致谢
在这个“onclick”工作但它没有调用javascript函数。请帮助如何同时执行onclick和onclientclick。
<asp:Button ID="btnFare" OnClientClick="return initialize();" runat="server" Text="Calculate Fare" onclick="btnFare_Click"/>
请提出解决此问题的方法。
提前致谢
在您发布更多代码之前,很难说出了什么问题。当我遇到这个问题时,我检查了几件事:
1)我正在调用的javascript实际上是在页面中吗?(这对于初学者来说可能会有问题,因为有几种方法可以在他们的页面中包含 javascript,有时他们认为他们的 javascript 在页面中,而实际上并非如此。)
2) 当我调用 javascript 时,控制台中出现什么错误?当我将 console.log('some text') 包含在我的函数中时,我可以看到它的输出吗?
3) 我的 javascript 是否真的触发了,但我错过了它,因为我有一个服务器端事件在它之后触发?
4) onClientClick 函数是否返回布尔值?在这种情况下,这很重要,因为如果它返回 true,服务器端的 onClick 事件将触发。如果它返回 false,服务器端事件将不会触发。
这些只是需要检查的几件事。你可能想检查一下Firebug——它在调试这样的事情时非常棒。
如果你想btnFare_Click
被解雇,那么initialize();
必须return true
。
我建议你添加initialize()
这样的page_Load
:
btnFare.Attributes.Add("onclick","return initialize();");
而不是这样:
OnClientClick="return initialize();"
确保initialize();
返回true
. 事件处理程序可以返回一个布尔值(true
或false
),false
意思是:“不采取默认操作”。
如果您有任何 js 错误,请检查 javascript 控制台。
问题肯定出在您的 initialize() 函数中。我认为这是错误的。
如果您没有问题,请让我们查看源代码。
或者你可以把alert(yourreturnvariable);
作为函数的最后一行,检查它是否真的返回 true。