http://htmlweb.ru/ajax/example/search.php did everything exactly as on the site. How to make it so that it would check how much is written in the search line and start the search only when there are more than 3 characters in the text field?
In the head tag:
<script language="javascript" src="ajax_framework.js"></script> In body:
<h2>Ajax Search Engine</h2> <form id="searchForm" name="searchForm" method="post" action="javascript:insertTask();"> <div class="searchInput"> <input name="searchq" type="text" id="searchq" size="30" onkeyup="javascript:searchNameq()"/> <input type="button" name="submitSearch" id="submitSearch" value="Search" onclick="javascript:searchNameq()"/> </div> </form> <h3>Search Results</h3> <div id="msg">Type something into the input field</div> <div id="search-result"></div> ajax_framework.js:
/* -------------------------- */ /* XMLHTTPRequest Enable */ /* -------------------------- */ function createObject() { var request_type; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer"){ request_type = new ActiveXObject("Microsoft.XMLHTTP"); } else { request_type = new XMLHttpRequest(); } return request_type; } var http = createObject(); /* -------------------------- */ /* SEARCH */ /* -------------------------- */ function searchNameq() { searchq = encodeURI(document.getElementById('searchq').value); document.getElementById('msg').style.display = "block"; document.getElementById('msg').innerHTML = "Searching for <strong>" + searchq+""; // Set te random number to add to URL request nocache = Math.random(); http.open('get', 'in-search.php?name='+searchq+'&nocache = '+nocache); http.onreadystatechange = searchNameqReply; http.send(null); } function searchNameqReply() { if(http.readyState == 4){ var response = http.responseText; document.getElementById('search-result').innerHTML = response; } } Search in the database in-search.php:
include('config.php'); $searchq = $_GET['name']; $getName = mysql_query('SELECT * FROM USER WHERE name LIKE "%'.addslashes($searchq).'%"'); while ($row = mysql_fetch_array($getName)) echo $row['name'] . '<br/>';