I want to display an alert() box, just 10 seconds after user stops writting in a textbox.
I used following javascript code to open alertbox -
function txtkeyup(e){
setTimeout(function () {
alert('submit?');
}, 10000);
return true;
}
and the HTML code is -
<input type='textbox' name='searchquery' value='' onkeyup='return txtkeyup();'>
Now the browser is giving alertbox, 10 seconds after every onkeyup event in the inputbox. To make only one request, i have to reset the setTimeout() timer on every keyup event so the alertbox will be display if user doesnt press a button for 10 seconds.
How can reset the timer of previously called 'setTimeout()' in javascript? Please guide me..
Use the clearTimeout Function We can use the timer created by setTimeout function with the clearTimeout function. We have the timer variable that stores the timer returned by setTimeout .
To clear a timeout or an interval in React with hooks: Use the useEffect hook to set up the timeout or interval. Return a function from the useEffect hook. Use the clearTimeout() or clearInterval() methods to remove the timeout when the component unmounts.
The clearTimeout() method clears a timer set with the setTimeout() method.
var myTimeout = setTimeout ( ...)
to clear it simply write
clearTimeout(myTimeout);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With