我有一个ASP.NET复选框,我希望在回发之前运行一些javascript。
类似的东西:
<asp:CheckBox ID="chkSelected" runat="server" AutoPostBack="True" OnCheckedChanged="chkSelected_CheckedChanged" />
但我希望在用户点击它时运行一个JS确认对话框,如果他们是UNCHECKING它,我想询问他们是否确定,如果是,请回发并运行我的服务器端代码。如果他们说不,请不要回复。
任何人都知道一种'简单'的方法吗?
答案 0 :(得分:2)
您可以添加onclick
处理程序:
<asp:CheckBox ... onclick="if (!this.checked && !confirm('Are you sure?')) return false;" />
(我相信这会奏效,但我没试过)
您还可以在Javascript中添加活动。 (更有可能工作)
使用jQuery:
$('#<%=chkSelected.ClientID%>').click(function() {
return this.checked || confirm('Are you sure?');
});
答案 1 :(得分:0)
我没有尝试使用复选框,但尝试查看asp:CheckBox是否有OnClientClick属性。如果有,请将javascript函数的名称放入其中。然后在您的javascript中,如果要发生回发,您可以return true
,如果您想取消回发,可以return false
。