Задать вопрос
Vextor-ltd
@Vextor-ltd
Webdeveloper

Как после сабмита очистить поле type="tel" и показать очищенную маску?

В начале кода сразу создаю маску:

const maskOptions = {
    mask: "+7 (000) 000-00-00",
    startsWith: "7",
    lazy: false,
    country: "Russia",
 };
 const mask = IMask(orderFormPhone, maskOptions);


После сабмита я делаю очистку формы (лишнее убрал) так:
function cleanForm() {
    orderFormPhone.value = "+7 (___) ___-__-__";
    mask.updateValue();
 }

1) В этом случае в телефонном поле при первом клике сначала просто появляется значение +7 (___) ___-__-__ и только, после повторного клика активизируется маска телефона и необходимый форус по маске.
2) Если прописать orderFormPhone.value = "";, то поле после сабмита будет пустым и снова после повторного клика активируется маска.
3) А если убрать orderFormPhone.value = "";, то поле и вовсе не очищается.

Всё это касается и инициализации пустого IMask-поля при повторном заходе, если пользователь не нажимал на отправку, и очистки данных, которые сохранил браузер в этом случае.

Я пока остановился на первом варианте с повторным кликом.

Но как избавиться от повторного клика?
Хочу, чтобы маска стала активной сразу при первом клике.
  • Вопрос задан
  • 130 просмотров
Подписаться 2 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы