如何通过JavaScript实现自动提交表单进行搜索
How to implement AUTO submit form for searching via JavaScript?
我创建了一个自动搜索文本的表单(该文本是从录制的语音中识别的)。记录完用户的语音后,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代码调用函数"媒体/搜索",以这种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>
相关文章:
- 如何重置搜索表单中的特定表单元素
- 在网站上提交搜索表单以刮表
- 如何通过JavaScript实现自动提交表单进行搜索
- 在导航栏中的搜索表单上使用jQuery for Action Listeners
- 如何将搜索表单仅添加到商店页面和类别页面
- 控制器作为搜索输入表单的语法
- 根据ajax搜索答案自动填写表单并提交
- Wordpress:提交后,我如何在搜索表单中保留市场复选框
- jQuery:如何创建一个带有多个单选按钮的实时搜索表单
- 在搜索表单中,替换空格或仅使用正则表达式的隐词和数字
- 我想防止搜索表单中出现空字段
- jQuery在多个表中搜索文本,如果找到文本,则单击按钮
- 根据在“搜索表单”中键入的内容隐藏和显示表行
- 尝试在“单击”或“聚焦”GCSE搜索表单输入时触发jquery事件
- 在搜索表单中选择 2
- 如何使用 html 表单中的一个文本字段来搜索数据库表中的任何列
- 用硒填充和操作jqGrid的搜索小部件似乎不会触发DOM表单事件
- Php 搜索表单显示结果时无需按搜索按钮,而它应该等到按下按钮才能显示它们
- 带按钮的搜索表单
- Magento管理表单搜索/重置过滤器重定向到仪表板