jquery使用asp.net控件问题屏蔽输入

时间:2010-03-03 02:50:15

标签: asp.net jquery-plugins

使用带有asp.net文本框的jquery maskedinput时遇到问题。 我有一个复选框,当我检查时会为文本框设置一个掩码,当取消选中时,它会更改掩码。问题是,在完成填充之前焦点丢失时,文本框将会清空。

我该如何解决问题?

这是我的代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>



    <script src="js/jquery-1.4.1.js" type="text/javascript"></script>


    <script src="js/jquery.maskedinput-1.2.2.js" type="text/javascript"></script>
    <script type="text/javascript">


         function mycheck() {

            if ($('#<%=chk.ClientID %>').is(':checked')) 

                {
                        $("#<%=txt.ClientID %>").unmask();
                        $("#<%=txt.ClientID %>").val("");
                        $("#<%=txt.ClientID %>").mask("999999999999");

                    } 
                    else
                     {
                        $("#<%=txt.ClientID %>").unmask();
                        $("#<%=txt.ClientID %>").val("");
                        $("#<%=txt.ClientID %>").mask("(999)999-9999");

                    }






        }
    </script>

    <style type="text/css">
        #form1
        {
            margin-top: 0px;
        }
    </style>

</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <div>

        <p>
            <asp:CheckBox ID="chk" runat="server" CssClass="kk" 
                onclick="mycheck()"  />
        </p>

         <p>
           <asp:TextBox ID="txt" runat="server" CssClass="tt"  ></asp:TextBox>

        </p>


        </div>
    </form>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

这是设计的。我的屏蔽输入插件的默认设置是在掩码未完全填满时清除输入。如果您希望您的面具允许不完整的输入,您可以插入'?'你希望可选字符开始的字符。

例如:

使用可选附加信息$(selector).mask('(999) 999-9999 ?x99999');

屏蔽电话号码

制作一个可选的$(selector).mask('?(999) 999-9999');

的电话号码

答案 1 :(得分:0)

插件本身存在问题,我报告了这一点。