Запрет на нажатие кнопки

Если появляется сообщение

<span id="error-msg" class="">Неверный номер</span>

То запретить нажатие на кнопку

<button type="submit" id="button3509871" class="btn f-btn  button-md btn-success" >
    Зарегистрироваться бесплатно</button>

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


Ответы (1 шт):

Автор решения: Pavel Grishaev

Попробуйте так (адаптируйте под вашу ситуацию, это просто заготовка):

let btn = document.querySelector('button');
let msgParent = document.querySelector('.parent-class'); // внутри этого блока сообщения
let observer = new MutationObserver(()=>{
    if( !msgParent.querySelector('.error-msg') ) return;
    btn.disabled = true;
});
observer.observe( msgParent, { childList: true });
→ Ссылка