javascript - 每当输入文本字段更改时,如何在 RoR 中提交表单?

标签 javascript ruby-on-rails forms

我正在使用 Ruby on Rails。

我想在页面上创建一个过滤字段,以便每当输入字段的值发生变化时,我都会通过 ajax 过滤如下所示的列表。 (与 Stackoverflow 中的用户搜索完全一样)

目前,我使用包含 text_field_tag 和 submit_tag 的 form_remote_tag 运行它,当我按下提交按钮时它会过滤我的列表。我想删除提交按钮并在每次文本输入值更改时执行过滤。每次输入字段中的文本更改时如何触发表单提交?

我在我的表单中尝试过

<%= text_field_tag (:filter), "" , :onchange => "alert ('This is a Javascript Alert')" %>

只是为了获取 onchange 事件,但不知何故甚至没有出现此警报...

最佳答案

对单个输入使用observe_field helper,如下面的代码:

<%= text_field_tag 'filter' %>
<%= observe_field 'filter', 
    :url => {:controller => 'your_controller', :action => 'filter'},
    :frequency => 1.2,
    :update => 'results',
    :with => "'typed_filter=' + $('filter').value" %>

然后编写一个 Controller ,给定一个名为“typed_filter”的参数,呈现结果,结果将显示在 ID 为“results”的元素(可能是一个 div)中。

关于javascript - 每当输入文本字段更改时,如何在 RoR 中提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/236715/

相关文章:

javascript - 为什么多次 unicode 转换 String.fromCharCode ("👉".charCodeAt(0)) 会破坏 Chrome 控制台中的符号以及如何修复它?

ruby-on-rails - 嵌套开始/救援/确保有效吗?

ruby-on-rails - 在 Rails 中保存到数据库时,时间属性会发生更改

html - AJAX 调用后显示数据,如何在 Controller 中呈现?

django cbv 基于 is_staff/is_superuser 从表单中动态排除字段

javascript - 清除表单并填充 jquery

html - 提交按钮 CSS 样式

javascript - LI 内的 DIV 元素

javascript - 获取对本地文件的请求不起作用

javascript - 如何测试 onClick 事件