如何将事件传递给asp:CustomValidator的ClientValidationFunction?

时间:2017-03-27 13:37:53

标签: javascript asp.net internet-explorer firefox webforms

我必须检查目标,导致Web表单验证,是否有任何方法可以在不浏览window.event的情况下以crossbrowser方式执行此操作?它在FF中不可用。

script type="text/javascript">
    function myValidate(source, args)
    {
      var id = window.event.target.id;
      if( id == "Button1")
      alert('a');
      else if(id == "Name")
      alert('b');
    }
</script>
<form id="form1" runat="server">
<div>
    <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="myValidate();" ErrorMessage="CustomValidator"></asp:CustomValidator>
    <asp:TextBox ID="Email" runat="server"></asp:TextBox>
    <asp:TextBox ID="Name"  runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
</div>
</form>

现在我看到两种方式:

  1. 覆盖整个WebForm_DoPostBackWithOptions链,Page_ClientValidate,ValidatorValidate,CustomValidatorEvaluateIsValid
  2. 在自定义onclick函数中的window.target中保存目标,但它不可靠,因为可能有大量的表单提交者和window.target不会“自我解锁”

0 个答案:

没有答案