2013-08-15 7 views
4

я пытаюсь форматировать текстовое поле так, что, когда пользователи могут ввести номер телефона, и он будет автоматически поместить его в следующем формате: (999) 999-9999маска вид Textbox для номера телефона

Я попытался использовать MaskedEditExtender, он работает, но он делает полную противоположность тому, что мне нужно.

, когда я нажимаю на поле он показывает правильный формат, но как только я курсор мыши все еще только показывает 9999999999

как я могу это сделать так, чтобы пользователь только типов в цифрах, и это ставит тир и скобки, где это он должен автоматически (что он делает сейчас), но сохраняйте формат, когда я выхожу из него.

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

ответ

7

Чтобы ответить на ваш вопрос, вы должны установить «ClearMaskOnLostFocus» к ложным на расширитель для маски, чтобы показать все время.

Это, как говорится ....

я настоятельно рекомендую вам использовать альтернативу Jquery.

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

Поэтому я говорю это потому, что maskededitextender не работает в сафари.

+1

Я отправился в маршрут jquery! благодаря! –

4

Попробуйте

В propoerty "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>