gpt4 book ai didi

javascript - 回发后第一次单击按钮时 OnClientClick 不会触发

转载 作者:行者123 更新时间:2023-11-28 08:43:14 25 4
gpt4 key购买 nike

我有一个 ASP 按钮。单击它后,我会在使用 JavaScript 进行一些验证后打开一个弹出窗口。

<asp:Button ID="btnHistory" runat="server" Text="History" Enabled="true" Width="100pt" OnClientClick="ShowHistoryPopup()" meta:resourcekey="btnHistory" OnInit="btnHistory_Init"/>

function ShowHistoryPopup() {

var age = $get("<%= txtSomeTextBox.ClientID %>");
var str = "";
if (Validate(age)) {
str = 'ClService.aspx?id=' + 'Null,' + age.value;
window.open(str);
}
else {
return false;
}
}

我有一个单选按钮。根据所选索引,我需要启用禁用“历史记录”按钮。单选按钮有 3 个选项,并且在第三个选项页面上发生回发。我需要仅在第一个选项上启用按钮。我借助 Java 脚本和 OnPreRender 事件上的一些代码(用于回发情况)实现了此逻辑。

现在我面临的问题是,如果我选择选项 1 或 2 并单击“历史记录”按钮,则会触发 OnClientCLick 事件。但是,如果我选择选项 3(回发),然后导航回选项 1,则 onClientCLick 不会第一次触发。但第二次单击“历史记录”按钮时,它工作正常。有人对这个问题有建议或解决方案吗?

最佳答案

如果我理解您的问题,我认为发生的情况是您在单击“历史记录”按钮后发回,这不是您想要的(因为没有单击处理程序)。使用此代码对我有用:

<asp:RadioButton ID="RadioButton1" runat="server" GroupName="Radio1" />
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="Radio1" />
<asp:RadioButton ID="RadioButton3" runat="server" AutoPostBack="True" GroupName="Radio1" />

<asp:Button ID="btnHistory" runat="server" Text="History" Enabled="true" Width="100pt" OnClientClick="ShowHistoryPopup();return false;" meta:resourcekey="btnHistory" />

<script type="text/javascript">
function ShowHistoryPopup() {
alert("Here");
}
</script>

我添加的只是 ShowHistoryPopup(); 之后的 return false;

另外,我在这里使用警报是为了演示,实际上我们应该使用 console.log('Show my message');

关于javascript - 回发后第一次单击按钮时 OnClientClick 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com