Маска просмотра текстового поля для номера телефона

Я пытаюсь отформатировать текстовое поле так, чтобы, когда пользователи могли вводить номер телефона, он автоматически помещал его в следующий формат: (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"/>

person Madam Zu Zu    schedule 15.08.2013    source источник


Ответы (2)


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

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

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

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

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

person Smeegs    schedule 15.08.2013

Попробуй это

Свойство 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>
person Derdlim    schedule 15.08.2013