我正在尝试格式化文本框,以便用户可以输入电话号码时自动将其设置为以下格式:(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"/>
答案 0 :(得分:7)
要回答你的问题,你必须设置&#34; ClearMaskOnLostFocus&#34;在扩展器上假装,以便面具一直显示。
有人说......
我强烈建议您使用jquery替代方案。
http://digitalbush.com/projects/masked-input-plugin/
我说这个的原因是因为maskededitextender在safari中不起作用。
答案 1 :(得分:4)
试试这个
属性“Clear Mask OnLostFocus”必须为false。
<asp:MaskedEditExtender ID="mskSuperPhone" runat="server"
TargetControlID="txtSuperPhone"
ClearMaskOnLostFocus ="false"
MaskType="None"
Mask="(999)999-9999"
MessageValidatorTip="true"
InputDirection="LeftToRight"
ErrorTooltipEnabled="True">
</asp:MaskedEditExtender>