Я пытаюсь создать простую панель поиска Google на своем веб-сайте. Это работает нормально. Однако я учитываю ошибку пользователя и по какой-то причине не могу снова включить кнопку отправки после ее нажатия при условии, что ввод не предоставлен. См. код Javascript ниже.
const text = document.querySelector("#search");
const msg = document.querySelector(".msg");
document.querySelector(".google-form").addEventListener('submit', onclick)
function onclick(e) {
if (text.value === '' || text.value === null) {
e.preventDefault();
msg.classList.add('error');
msg.innerHTML = 'Please enter a proper search query';
setTimeout(() => msg.remove(), 3000);
document.querySelector("#button").disabled = false; // <-- This method doesn't seem to work.
}
}
<div class="google-form">
<div class="msg"></div>
<form id="my-form" action="https://www.google.com/search">
<input id="search" type="text" name="q" placeholder="Enter Search">
<button id="button" type="submit">Submit</button>
</form>
</div>
Как видите, если текст не введен, это сообщит пользователю, что ему нужно будет ввести фактический поисковый запрос. Однако после этого кнопка отправки просто больше не будет работать.
Я попытался использовать .querySelector().disabled = false; , а также .removeAttribute(disabled), но ничего не работает. Что именно мне здесь не хватает, чтобы повторно активировать кнопку отправки после того, как она была нажата без ввода?
submit
в<div>
? Кроме того, где вы отключаете кнопку отправки? - person Phil   schedule 02.12.2020msg.innerHTML = ""
вместоmsg.remove()
- person Phil   schedule 02.12.2020