@MRcracker

Как повторно очистить поле?

Есть поле. Есть кнопка по щелчку на которую поле очищается. После очистки повторно вызывается функция, чтобы маска поля не пропадала. Проблема в том, что на кнопку очистки нужно нажимать два раза иначе в маску перестают вводиться цифры. Подскажите, как можно это исправить.
Скрипт маски https://imask.js.org/guide.html
document.addEventListener("DOMContentLoaded", () => {
  const maskInput = () =>{
    const phoneEl = document.querySelector('.telephone-input');
    let phoneMask = IMask(phoneEl, {
    
    mask: '{+7} (#00)-000-00-00',
    
    definitions: {
      '#': /[01234569]/
    },
    
    lazy: false,
    
    placeholderChar: ' '
  
  });
  }

  maskInput();

document.getElementById("clearButton").onclick = function(e) {
  document.getElementById("textInput").value = "";
  const phoneEl = document.querySelector('.telephone-input');
  maskInput();
}
})
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Вы перемудрили с кодом. Зачем заного инициализируете маску через вызов функции и тп.
Нужно проще:
document.addEventListener("DOMContentLoaded", () => {  
   const phoneEl = document.getElementById("textInput");
   const phoneMask = IMask(phoneEl, {    
    mask: '{+7} (#00)-000-00-00',    
    definitions: {
      '#': /[01234569]/
    },    
    lazy: false,    
    placeholderChar: ' '  
  });  

document.getElementById("clearButton").onclick = function(e) {
  phoneMask.value = ""; 
 //Вернём фокус
 phoneEl.focus(); 
}

});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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