Javascript OnClientClick在回发后第一次单击按钮时不触发
我有一个ASP按钮。在使用JavaScript进行了一些验证之后,点击它,我打开了一个弹出窗口Javascript OnClientClick在回发后第一次单击按钮时不触发,javascript,asp.net,Javascript,Asp.net,我有一个ASP按钮。在使用JavaScript进行了一些验证之后,点击它,我打开了一个弹出窗口 <asp:Button ID="btnHistory" runat="server" Text="History" Enabled="true" Width="100pt" OnClientClick="ShowHistoryPopup()" meta:resourcekey="btnHistory" OnInit="btnHistory_Init"/> function ShowHis
<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;
}
}
函数ShowHistoryPopup(){
变量年龄=$get(“”);
var str=“”;
如果(验证(年龄)){
str='ClService.aspx?id='+'Null',+age.value;
窗口打开(str);
}
否则{
返回false;
}
}
我有一个单选按钮。根据所选索引,我需要启用“禁用历史记录”按钮。单选按钮有3个选项,在第3个选项页上进行回发。我只需要在第一个选项上保持按钮启用。我在Java脚本的帮助下实现了这个逻辑,并在OnPreRender事件上编写了一些代码(用于post-back案例)
现在我面临的问题是,如果我选择选项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(){
警报(“此处”);
}
我只添加了返回false代码>在<代码>ShowHistoryPopup()之后代码>
另外,为了演示的目的,我在这里使用了alert,实际上我们应该使用console.log('showmessage')代码>