蒙面输入插件jquery

时间:2012-06-07 12:32:26

标签: javascript jquery asp.net

我将这个plugin用于asp.net文本框。

文本框是:

   <asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("Phone") %>' />                 

当文本框非空时,我希望格式为(999)999-9999。但是当文本框为空时它为空。

我想通过文字选择不同的面具。 代码怎么样?

我试过以下:

感谢。

  jQuery(function($){  
    if(document.getElementById("<%# txtBox.ClientID %>")).innerText =
       $("<%# txtBox.ClientID %>").mask("(999) 999-9999");  
    else
      $("<%# txtBox.ClientID %>").mask("");
  });

更新

文本框位于gridview内。它喜欢:

<asp:TemplateField HeaderText="OrgContactPhone" SortExpression="OrgContactPhone">
            <EditItemTemplate>
                <asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("OrgContactPhone") %>' MaxLength="50">
                </asp:TextBox>

2 个答案:

答案 0 :(得分:1)

<asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("Phone") %>' class="MaskText" />


$(document).ready(function () {
    var obj = $('.MaskText');
    if ($.trim(obj.val()).length !== 0) {
        obj.mask("(999) 999-9999");
    }
    else {
        obj.mask("");
    }
});

答案 1 :(得分:0)

首先我可能错了,但我不认为“if(document.getElementById("<%# txtBox.ClientID %>")).innerText =”会因ASP.net如何运作而起作用。

其次,ASP.net内置了屏蔽组件。

第三,你可以试试这个。

jQuery(function($){ 
    //Code function here to detect on text change for the textbox
    {
    if(document.getElementById("<%# txtBox.ClientID %>").innerText != "")
       $("<%# txtBox.ClientID %>").mask("(999) 999-9999");  
    else
      $("<%# txtBox.ClientID %>").mask("");
    }
  });