0

我有一个 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() 函数。

谢谢你们

4

1 回答 1

1

您可以添加onclientclick="test()"到按钮。

于 2013-10-04T15:16:52.377 回答