0

这让我很丧,必须是我忽略的简单事情。我试图通过单击 ASP 按钮来触发一个简单的 javascript 函数。我的按钮如下所示:

<asp:Button ID="btnFinalize" runat="server" Enabled="False" OnClientClick="finalizeClick(); return false;" Text="Finalize Selection" />

我确实根据其他一些客户端逻辑启用它,一旦启用,我单击它但没有任何反应。

我在 JS 函数 finalizeClick() 中有一个断点,它永远不会到达那里。

所以我尝试了一个常规的 HTML 按钮,它调用了这个函数并按预期执行。看起来像:

<input  type="button" id="btnFinalizeNotASP" value="button" onclick="finalizeClick();"/>

快疯了,求救。

编辑更多信息。必须是 Enabled="False"。如果我把它从 ASP 标签中取出来,它就可以工作。我想从禁用按钮开始并在其他事件客户端启用它我在我设置的另一个 javascript 事件中执行此操作:

finalizeButton.disabled = false;

不知道为什么,但 finalizeButton.enabled = ture; 从来没有打开过按钮。

仍然不解

4

2 回答 2

1

我想出了一些可行的方法,但我真的不喜欢它。想从其他人那里知道为什么以及是否有更好的解决方案。

如果我离开:

Enabled="False"

从我的 ASP 标签中取出

var btnfinalize = document.getElementById("<%=btnFinalize.ClientID %>");
btnfinalize.disabled = true;

在我页面的 javascript 中,ASP 按钮在设计期间启用,在页面加载时禁用,并在以后启用(真正禁用=false)并单击时正确触发我想要的 javascrip 功能

于 2012-12-18T21:23:41.637 回答
0

不,当您不需要控件在服务器端运行时使用 HTML 控件,而不是 ASP.NET 服务器控件。

IE

< input type="button" / >

代替

< asp:Button ID="btn" runat="server" / >
于 2012-12-18T20:45:09.020 回答