setTimeout не работатет должным образом
Всем привет. Данно: на странице есть inpit="search" c id="search" и input="submit" с id="submit". Необходимо: ввести текст в поле поиска и нажать кнопку submit. И только через три секунды должен появиться alert с текстом, который я ввел в поиск. onclick использовать только в js коде. Реализовал код следующим образом, но ничего не работает.
submit.onclick=function(){
setTimeout(function func() {
if ((document.getElementById("search").value == "hi")) {
return alert(" there")
} else {
return alert(document.getElementById("search").value)
}
} ,3000)
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
var submit = document.getElementById("btnSubmit");
submit.onclick = function() {
setTimeout(function func() {
if ((document.getElementById("search").value == "hi")) {
return alert(" there");
} else {
return alert(document.getElementById("search").value);
}
}, 3000);
return false;
}
<form>
<input id="search" value="hi" />
<button id="btnSubmit">Click</button>
</form>
Автор решения: MoloF
→ Ссылка
Мне почему-то кажется что автор хотел сделать задержку, если это не так, то это моя вина.
let isSubmit = false;
form.onsubmit = (e) => {
e.preventDefault();
if (isSubmit) return;
isSubmit = true;
setTimeout(() => isSubmit = false, 3000);
const data = Object.fromEntries(new FormData(e.target).entries());
if (data.text === "hi")
return alert('Hello !');
alert(data.text);
}
<form id="form">
<input type="text" name="text">
<button type="submit">submit</button>
</form>