В начале кода сразу создаю маску:
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-поля при повторном заходе, если пользователь не нажимал на отправку, и очистки данных, которые сохранил браузер в этом случае.
Я пока остановился на первом варианте с повторным кликом.
Но как избавиться от повторного клика?
Хочу, чтобы маска стала активной сразу при первом клике.