代码之家  ›  专栏  ›  技术社区  ›  Abe Miessler

是否可以从jquery启动ASP.NET验证?

  •  4
  • Abe Miessler  · 技术社区  · 14 年前

    我有一个表单,上面有几个文本框。我只想接受浮动,但用户可能会输入一个美元符号。我使用以下代码删除美元符号并验证内容:

    jQuery:

                $("#<%= tb.ClientID %>").change(function() {
                    var ctrl = $("#<%= tb.ClientID %>");
                    ctrl.val(ctrl.val().replace('$',''))
                });
    

    ASP.NET验证:

    <asp:CompareValidator ID="CompareValidator4" runat="server" Type="Double" ControlToValidate="tb" Operator="DataTypeCheck" ValidationGroup="vld_Page" ErrorMessage="Some error" />
    

    我的问题是,当有人在文本框“tb”中输入美元符号并更改焦点时,验证首先发生,然后jquery删除美元符号。是否可以先运行jquery,或者在jquery执行后强制再次运行验证?

    3 回复  |  直到 9 年前
        1
  •  6
  •   womp    14 年前

    所有的ASP.NET验证器都有一个客户端API,您可以钩住它。你可以看到一些 documentation and discussion on it here .

    具体来说,您可能想做的是调用javascript函数

    ValidatorValidate(document.getElementById("<%= myValidator.ClientID %>"));
    

    要使验证程序重新运行它的客户端验证例程并更新其显示。

        2
  •  0
  •   Raja    14 年前

    为什么不使用keypress事件来处理$sign呢?这样,用户就不能输入$。

    高温高压

        3
  •  0
  •   jmbmage    9 年前

    尝试调用jquery .change() 方法。

    这样地:
    $("#Symbol").val(""); $("#Symbol").change();

    有时打电话只是 .val() 是不够的。