首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails UJS更改输入字段

Rails UJS更改输入字段
EN

Stack Overflow用户
提问于 2016-06-04 08:21:11
回答 2查看 551关注 0票数 0

我有一个输入字段。当用户更改它的值时,几秒钟后,我希望它向服务器发出一个post请求,以便我可以更新该属性。我正在使用UJS,并找到了this文档。

它说当你同时使用data-remotedata-url时,它会在元素的改变事件之后向给定的url发送AJAX请求。我有一个这样的帮手:

代码语言:javascript
复制
f.text_field :name, class: "form-control", data: {remote: true, url: contact_path(@contact), method: :post }

我检查html,它看起来是这样的:

代码语言:javascript
复制
<input class="form-control" data-method="post" data-remote="true" data-url="/contacts/1" id="contact_name" name="contact[name]" type="text" value="sdfdf dsfdsfdgf">

当我更改文本字段的值时,它不会向服务器发送post请求。什么都没发生。如果我没有使用Rails UJS,我会在js keyup事件上发送到服务器。我是不是遗漏了什么Rails UJS?

EN

回答 2

Stack Overflow用户

发布于 2016-06-06 12:59:51

我想通了。首先,只有在输入字段失去焦点之后才会进行ajax调用。因此,它不是在keyup事件上触发,而是在focusout事件上触发。换句话说,您必须单击或跳出输入字段,然后ajax调用将被触发。

第二个问题是chrome控制台显示了一个404错误,因为我使用POST方法向contacts/1发送了一个请求。contacts/1响应PUT方法,而非POST方法。当我切换到PUT method并跳出输入字段时,请求到达了我的控制器。

票数 0
EN

Stack Overflow用户

发布于 2017-06-21 19:35:57

在application.js中初始化rails-ujs的正确方法是

代码语言:javascript
复制
import Rails from 'rails-ujs'
Rails.start()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37625162

复制
相关文章

相似问题

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