4

我正在尝试格式化文本框,以便当用户可以输入电话号码时,它会自动将其设置为以下格式:(999)999-9999

我尝试使用 MaskedEditExtender,它可以工作,但它与我需要的完全相反。

当我单击该字段时,它显示正确的格式,但是一旦我将鼠标移出它仍然只显示 9999999999

我怎样才能做到这一点,以便用户只输入数字并将破折号和括号放在它应该自动的位置(它现在这样做),但是当我点击它时保持格式。

<asp:TextBox ID="txtSuperPhone" runat="server" CssClass="myinputstyle"  />
    <asp:MaskedEditExtender ID="mskSuperPhone" runat="server" TargetControlID="txtSuperPhone" Mask="(999)999-9999"/>
4

2 回答 2

7

要回答您的问题,您必须在扩展器上将“ClearMaskOnLostFocus”设置为 false,以便始终显示面具。

话虽如此....

我强烈建议您使用 jquery 替代方案。

http://digitalbush.com/projects/masked-input-plugin/

我之所以这么说是因为 maskededitextender 在 safari 中不起作用。

于 2013-08-15T18:10:08.447 回答
4

试试这个

属性“ClearMaskOnLostFocus”必须为假。

<asp:MaskedEditExtender ID="mskSuperPhone" runat="server"
                   TargetControlID="txtSuperPhone"
                   ClearMaskOnLostFocus ="false"
                   MaskType="None"
                   Mask="(999)999-9999" 
                   MessageValidatorTip="true"
                   InputDirection="LeftToRight"
                   ErrorTooltipEnabled="True">
  </asp:MaskedEditExtender>
于 2013-08-15T18:10:51.760 回答