Я создал форму, которая автоматически выполняет поиск текста (этот текст распознается из записанного голоса). После записи голоса пользователя 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. Этот код был создан в моей школе, и мне нужно изменить его, чтобы он автоматически работал
Вы должны сделать заказ в своем уме.
Вторая функция - PHP (серверная), она выполняет поиск ваших результатов и затем записывает этот результат в переменную $data
и передает ее в представление "media/search".
Поэтому вы должны хотя бы попытаться распечатать эту переменную, чтобы увидеть, работает ли она. Чтобы напечатать это, вы можете сделать в PHP:
<div id="results"><?php echo $data?></div>