首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索表单:每次按键后仅提交部分刷新

搜索表单:每次按键后仅提交部分刷新
EN

Stack Overflow用户
提问于 2018-06-12 17:17:09
回答 1查看 41关注 0票数 0

我正在尝试做一个搜索表单,在每次输入后刷新部分:当我这样做的时候:

代码语言:javascript
复制
$("#search-field-id").on('input', function() {
    console.log("keypressed");
    $("#search-form").submit();
 });

它会刷新所有页面,所以我试图更改提交默认功能,但它不起作用:

代码语言:javascript
复制
$("#search-field-id").on('input', function() {
    console.log("keypressed");
    $("#search-form").submit(function(e){
      console.log("submitting");
      $.ajax({
        type:"GET",
        url: "#{translations_path}",
        data:$(this).serialize(),
        success:function(data){
          $.get({
            url: "#{translations_path}",
            dataType: "html",
            data: {
              partial: 'translation_key_list'
            },
            success: function(data){
              $("#translations-list").html(data)
            }
          });
        }
      });
      e.preventDefault();
    });
  });

我做错了什么?

视图:

代码语言:javascript
复制
.search-form
  = form_tag(translations_path, method: :get, id:"search-form", remote:true) do
    .ui.icon.input
      = text_field_tag :key_we_looking_for, params[:key_we_looking_for], id:"search-field-id"
      = submit_tag 'Search', name:nil
EN

回答 1

Stack Overflow用户

发布于 2018-06-12 17:21:29

尝试以下代码:

代码语言:javascript
复制
$("#search-field-id").on('input', function() {
    console.log("keypressed");
     performGet();
  });




 function performGet(){
    console.log("submitting");
              $.ajax({
                type:"GET",
                url: "#{translations_path}",
                data:$("#search-form").serialize(),
                success:function(data){
                  $.get({
                    url: "#{translations_path}",
                    dataType: "html",
                    data: {
                      partial: 'translation_key_list'
                    },
                    success: function(data){
                      $("#translations-list").html(data)
                    }
                  });
                }
              });

}

请让我们知道这是否有效。

PS我在ajax帖子之前写过e.preventDefault()。

在您的评论之后,我建议不要使用表单提交本身。

我已经更新了代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50813496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档