AHolasek
AHolasek

Reputation: 211

How do I get JavaScript to delay, and then refresh the page

I'd like my JavaScript to, at the end of the function I have created, wait seven seconds, and then refresh my page. If it is important, I have the vital parts of my JavaScript and HTML below...


Javascript:

var textfill = function () {
    var node = document.createElement("P");
    var x = document.getElementById('entertext').value;
    var textnode = document.createTextNode("The search results for: '" + x + "' will show up here");
    node.appendChild(textnode);
    document.getElementById("123").appendChild(node);
}

HTML:

 <input type="text" id="entertext">
 <input type="button" onclick="textfill()" value="Search">
 <p id="123">
 </p>

Upvotes: 4

Views: 5409

Answers (2)

Jeff Chung
Jeff Chung

Reputation: 186

function refreshPage() {
    //ensure reloading from server instead of cache
    location.reload(true);
}
function delayRefreshPage(mileSeconds) {
    window.setTimeout(refreshPage, mileSeconds);
}
var textfill = function () {
    var node = document.createElement("P");
    var x = document.getElementById('entertext').value;
    var textnode = document.createTextNode("The search results for: '" + x + "' will show up here");
    node.appendChild(textnode);
    document.getElementById("123").appendChild(node);
    delayRefreshPage(2000);
}

Summarizing @ioseph and my personal experience.

Upvotes: 5

ioseph
ioseph

Reputation: 1917

To do something after a certain amount of time use setTimeout - https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout

And to refresh the page, call

window.location.reload

Upvotes: 2

Related Questions