Как реализовать автозаполнение формы для поиска по JavaScript?

0

Я создал форму, которая автоматически выполняет поиск текста (этот текст распознается из записанного голоса). После записи голоса пользователя JS (ниже) распознает голос в виде текста, затем вызывается форму id = "searchform". Эта форма затем вызывает функцию, которая ищет слово в базе данных слов. Код JS:

 final_transcript = capitalize(final_transcript);   
    var queryTextField = document.getElementById("search_query");
    queryTextField.value = final_transcript; 
//automatic submit button search form is if form
        document.getElementById('searchform').submit();

Функция вызова JS-кода "media/search", которая реализована в этой HTML-форме:

<li><form class="input-group navbar-form" id="searchform" action="<?php echo base_url();?>media/search" method="post"></li>
    <input type="text" class="form-control" placeholder="Vyhladat titulky..." id="search_query" name="string" />
    <button type="submit"  name="btn_search"></button>
    </form>

Функция "Медиа/поиск", поиск по которой распознается:

//Search function
        function search($string = null) {
                //function can search string sent in url or in form
                $data['string'] = isset($_POST['string']) ? $_POST['string'] : $string;
                //For not null form
                if(! empty($data['string'])) {
                        //Searching in database
                        $gid = (! access(3) && ! access(4)) ? $this->userinfo('group') : null;
                        $data['list'] = $this->media_model->search($data['string'], $gid);
                }
                //Data are set to show
                $this->template->view("media/search", $data);
        }

Автопредставление работает, потому что страница с результатами отображается после записи голоса, но результаты поиска не отображаются. Я думаю, что функция поиска работает, но без значения, поэтому кажется, что она ищет "нет слова". Мне нужна помощь, я новичок в JS. Этот код был создан в моей школе, и мне нужно изменить его, чтобы он автоматически работал

Теги:
forms
search
submit

1 ответ

0

Вы должны сделать заказ в своем уме.

Вторая функция - PHP (серверная), она выполняет поиск ваших результатов и затем записывает этот результат в переменную $data и передает ее в представление "media/search".

Поэтому вы должны хотя бы попытаться распечатать эту переменную, чтобы увидеть, работает ли она. Чтобы напечатать это, вы можете сделать в PHP:

<div id="results"><?php echo $data?></div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню