如何为现有代码创建搜索按钮,使其在按下回车键时执行搜索?PHP/JavaScript/MySQL

4
我有一个网站,是别人为我编码的,我正在尝试理解如何更改一个简单的东西。
我不是Web开发人员,但在过去的几天里,我对php、mysql和javascript有了一些了解(我熟悉java)。
问题是:在我的网站上,我有一个搜索表单,它可以在没有搜索按钮的情况下工作(搜索功能可以通过按Enter键或从自动完成中选择来实现)。如何将其更改为仅使用搜索按钮?
这个网站是用一个叫做CodeIgniter的框架开发的。
以下是控制器的样子:
public function searchGym()
{
if($_POST)
{
$gym_name=$_POST['gym_name'];
$gym_name=trim($gym_name," ");  
$data['details']=$this->user_model->getGymByName($gym_name);
$data['gym_name']=$gym_name;
$this->load->view('he/searched_gym',$data);
}
}

这是模型的外观:

 public function getGymByName($query_string)
 {
    $query_string=mysql_real_escape_string($query_string);
    $query=$this->db->query("select * from gym_members_table where member_title like '%$query_string%'");
    return $query->result_array();
 }
</code> 

这是index.php搜索表单:


谢谢!!


$('#gym').keyup(function(e) 是导致它自动加载的函数。当有人按下搜索按钮时,请使用此函数。 - coder
谢谢,每当我设法禁用它时..当按下按钮时,我该如何调用此函数?这是我的按钮代码:<input type="submit" name="searchgymbutton" value="Search!"> - Noam
删除 $('#gym').keyup(function(e) 并在其位置添加 $('[name="searchgymbutton"]').click(function(e) - coder
3个回答

0

从搜索输入字段中删除id属性,并将id =“gym”放置在搜索按钮上。然后在 $('#gym').click(function(e) [注意:使用'click'而不是'keyup'],将search_term更改为

var search_term = $("gym_search").val();

0

从文本框中删除onkeypress事件。在JavaScript函数中添加ajax调用以进行搜索,并在按钮单击事件上调用该函数


0

您可以像这样取消那些字段上的回车键按下:

$('.gym_search').keypress(function(e){
    if ( e.which == 13 ) return false;
    //or...
    if ( e.which == 13 ) e.preventDefault();
});

嗨,我尝试了一下(看看新代码),但它并没有取消...有什么想法为什么? - Noam
$(document).ready(function(){ $('.autosuggest').hide(); $('#gym').keyup(function(e) { var code = (e.keyCode || e.which); //取消回车键 $('.gym_search').keypress(function(e){ if ( e.which == 13 ) return false; } - Noam
在你的<code>$('#gym').keyup(function(e){}</code>中添加代码== 13。 - Suhindra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接