javascript - 使用回车键而不是单击链接来更新搜索页面

标签 javascript php html forms validation

我有一个部分供用户使用三个不同的过滤器在数据库中搜索已输入的提示。我目前有一个调用 javascript 函数的按钮,该函数提取信息并将其显示在正确的 div 中。它按照我想要的方式工作,但由于我没有使用表单,我必须单击“更新”按钮以刷新结果 div,而不是能够按键盘上的 enter。我希望能够使用 enter 键来更新结果,但我不想用 post 或获取数据来刷新页面。用户需要能够使用后退键返回上一页。我刚开始学习 javascript,所以我不确定最好的方法。

这是我的代码:

<script>
    $(function() 
    {
        $("#category").change(function() 
        {
            $("#systemType").load("/tech/tips/_inc/tech_tip_find_system.php?category=" + $("#category").val());
        });
    }); 

    function searchTips()
    {
        $("#showTips").load("/tech/tips/_inc/search_tips.php?category=" + $("#category").val() + "&system=" + $("#system").val() + "&search=" + $("#search").val());
    }
</script>

<div class="filterTips">
    <h4>Filters:</h4>
    <select name="category" id="category">
        <option value="all">All Categories</option>
        <option value="phones">Phones</option>
        <option value="bells">Bells/Clocks</option>
        <option value="security">Security</option>
        <option value="tpac">Telepacific</option>
    </select>
    <div id="systemType"><input type="text" id="system" name="system" readonly="readonly" /></div>
    <input type="text" id="search" name="search" placeholder="Search Tech Tips" />
    <button onclick="searchTips()">Update</button>
    <div class="clear"></div>
</div>  
<div class="showTips" id="showTips">
    <?php include '_inc/search_tips.php'; ?>
</div>
<div class="filterTips"><br />&nbsp;</div>

我知道我应该使用带有 select 和 input 标签的表单,但无法重新加载页面。

最佳答案

你必须使用 ajax 来获取记录而不刷新页面..我这里是按下回车按钮的答案:

$( "#search" ).keypress(function( event ) {
  if ( event.which == 13 ) {
      $("#showTips").load("/tech/tips/_inc/search_tips.php?category=" + $("#category").val() + "&system=" + $("#system").val() + "&search=" + $("#search").val());
  }});

这是 ajax 的例子: http://api.jquery.com/jquery.post/

$( "#search" ).keypress(function( event ) {
    url = "/tech/tips/_inc/search_tips.php?category=" + $("#category").val() + "&system=" + $("#system").val() + "&search=" + $("#search").val() ;
    if ( event.which == 13 ) {
    $.post( url, function( data ) {
      $( "#showTips" ).html( data );
    });
    }
});

关于javascript - 使用回车键而不是单击链接来更新搜索页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422538/

相关文章:

javascript - 如何将一堆数组转换为单个对象?

javascript - 当前 React JS : 'state' is not defined no-undef

php - MySQL 数据库中的表太大

javascript - 阻止用户使用ajax提交自己的图像?

html - Bootstrap 网格添加在左侧和右侧有边距?

javascript - 由 amplify 生成的 Graphql 查询运行良好,但由于身份验证规则而引发错误。为什么?

javascript - 如何取消订阅 RxJS 5 可观察对象?

php - 使用 newInstanceWithoutConstructor 作为替代构造函数

javascript - 专注于非输入/ anchor 元素?

javascript - 使用 IFrame 和 Javascript 滚动父页面