【问题标题】:rails text_field_tag onchange: not workingrails text_field_tag onchange:不工作
【发布时间】:2014-04-09 18:49:22
【问题描述】:

Hii 有一个仅包含 text_field_tag 的 ajax 提交表单。我希望用户开始输入他的搜索字符串后立即提交表单。带宽/延迟不是问题,因为该应用程序将托管在公司的 Intranet 中。

我目前有这个:

<%= text_field_tag :search, params[:search], onchange: "$(this).parent('form').submit();"%>

但是,当我开始输入表单时,它并没有提交表单。只有当我按下回车键时。

怎么会?

【问题讨论】:

  • 也许你应该使用 onkeyup: 代替。对于 onchange:我认为您必须模糊对象才能启动事件
  • 也不起作用。即使是模糊也不起作用。我需要 git enter 手动提交表单。

标签: jquery ruby-on-rails ajax forms


【解决方案1】:

这会在每次击键后发送一个 ajax post 请求:

<%= form_tag test_path, remote: true, method: :post do |f| %>
  <%= text_field_tag :search, params[:search], onkeyup: "$(this).parent('form').submit();"%>
<% end %>

在 Rails 4.1 上测试和工作。

【讨论】:

  • 我会将javascript添加到一个js文件中,对我来说更不显眼。
  • 另外,避免内联java脚本,而是在js文件的text_field_tag上绑定onkeyup事件。
  • 我遵循了这个,但我的应用程序将请求作为 HTML 处理,我需要它作为 JS 处理。使用 Rails 6。
猜你喜欢
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多