var strokeTimeout = null; function instantSearch() { value = document.getElementById("search").value; if (strokeTimeout) { clearTimeout(strokeTimeout); } strokeTimeout = setTimeout(doSearch, 150, value); } function doSearch(value) { if (value == "") { strokeTimeout = null; return; } var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == XMLHttpRequest.DONE) { if (xhr.status === 404 || xhr.status === 400 || typeof xhr.response === 'undefined') { console.log(xhr.status); document.getElementById("search-results").innerHTML = ''; } document.getElementById("search-results").innerHTML = xhr.response; } } console.log(value); xhr.open('GET', '/search/gril_instant/' + value, true); xhr.send(null); strokeTimeout = null; }