Я создаю фреймворк php и попытался реализовать функцию автозаполнения ajax в форме поиска, которая будет отображаться на каждой странице, но она работает только на страницах, где другие параметры не отправляются.Он работает нормально, но когда я нажимаю на результат поиска, появляется ошибка, такая как:
syntax error [Break On This Error]
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script type="text/javascript" src="../js/autorsuggest.js"></script>
<!--search form-->
<form method="post" class="lsearch" action="<?php echo ROOT_URL. "/blogging/search"; ?>">
<label for="searchWord">Iskanje </label><br />
<input type="text" name="keywords" id="searchWord" maxlength="30" value="" class="inputText" onkeyup="autosuggest();return false;" />
<input type="submit" name="submit" id="submitSearch" value="Find" class="inputSubmit" />
<div id="results" ></div>
</form><!-- end form -->
.js file:
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();
function autosuggest() {
q = document.getElementById('searchWord').value;
// Set te random number to add to URL request
nocache = Math.random();
http.open('get', '../public/js/getarticlewords.php?q='+q+'&nocache = '+nocache);
http.onreadystatechange = autosuggestReply;
http.send(null);
}
function autosuggestReply() {
if(http.readyState == 4){
var response = http.responseText;
e = document.getElementById('results');
if(response!=""){
e.innerHTML=response;
e.style.display="block";
} else {
e.style.display="none";
}
}
}
и файл .php // поиск слова $search = $ _ GET ["q"];
$searching = Article::search_all($search);
echo "<ul>";
foreach($searching as $article){
if(strlen($search)>0){
echo "<li>";
do_url("/blogging/comment/$article->id", $article->title, "");
echo "</li>";
}
}
echo "</ul>";
Та же ошибка, которую я обнаружил на других страницах с помощью вызовов ajax, но я решил эту проблему, изменив относительные пути к aboslute (пути к файлам js) и I 'Я не уверен, как решить эту проблему.Есть идеи?