我有一个ASP.NET表单,我有一个ImageButton控件,如下所示(请注意,这只是更大表单的一部分):
<asp:CheckBox runat="server" ID="checkbox1" Text="Validate" Enabled="false" />
<asp:TextBox runat="server" ID="textbox1" MaxLength="30" />
<asp:RequiredFieldValidator ID="validator1" ControlToValidate="textbox1" Text="required!" runat="server" ValidationGroup="group1" />
<asp:ImageButton ID="button1" runat="server" Width="24" ValidationGroup="group1" />
使用Javascript,我可以按如下方式禁用和启用RequiredFieldValidator:
function test() {
var checkbox1 = document.getElementById("<%=checkbox1.ClientID %>");
var ckOwnerIsOperator = document.getElementById('<%=ckOwnerIsOperator.ClientID %>');
if (checkbox1.checked)
ValidatorEnable(validator1, false);
}
我要查找的是在单击按钮时在按钮上进行验证之前触发的事件。我知道我可以在复选框点击事件上执行此操作,但这不是我需要的。复选框单击事件有一个问题,如果另一个控件触发异步回发,我将失去验证器状态,所以我希望在页面验证发生之前调用test()函数。
谢谢大家
答案 0 :(得分:1)
您可以在按钮上添加onclientclick="test()"
。