1

这是我的 asp.net 标记:

<asp:TextBox runat="server" Style="width: 100px;" ID="txtCon" OnTextChanged="txtCon_TextChanged" MaxLength="10" AutoPostBack="true" />
                                 <asp:RegularExpressionValidator ValidationGroup="con" runat="server" ControlToValidate="txtCon"
                            Display="Dynamic" ErrorMessage="Invalid Format. Ex. 12 is valid format" ValidationExpression="(\d){1,10}" />

问题是,如果我在文本框中输入 abc 并在控件之外使用选项卡,它仍然会进行回发。我想停止这种行为。我该怎么做?

4

2 回答 2

0

不要使用 OnTextChanged 事件,而是使用 javascript 函数,例如 keyup 让我知道这是否有帮助

<asp:TextBox runat="server"  Style="width: 100px;" ID="txtCon"   MaxLength="10" AutoPostBack="false" /> <asp:RegularExpressionValidator ValidationGroup="con" runat="server" ControlToValidate="txtCon"
                            Display="Dynamic" ErrorMessage="Invalid Format. Ex. 12 is valid format" ValidationExpression="(\d){1,10}" />

js函数

 $(document).ready(function () {
            $("txtCon").each(function () {
                $(this).keyup(function () {
                   //your function here
                });
            });

        });
于 2013-06-25T08:27:33.167 回答
0

在文本框中添加ValidationGroup="con" AND CausesValidation="true"

用这个替换你的文本框

    <asp:TextBox runat="server" Style="width: 100px;" ID="txtCon" OnTextChanged="txtCon_TextChanged"
    MaxLength="10" AutoPostBack="true" ValidationGroup="con" CausesValidation="true"/>
于 2013-06-25T09:37:31.130 回答