值更改时输入标签触发事件的Rails实现

时间:2019-06-17 16:11:52

标签: javascript ruby-on-rails ajax dom-events

我想知道是否存在一些更清洁的方法来实现对input标签值更改的事件触发(我希望它在每次输入/删除字符时都触发)并使这些值在控制器中可见而不是使用ajax ?

所以我现在所知道的方式是实现JavaScript代码段,该代码段会将addEventListener附加到input元素(如here)上,并将对初始的rails控制器进行ajax调用以传递新的{ {1}}标签值。但是ajax感觉太多了,而不是在rails中存在某种本机,我似乎找不到它。

1 个答案:

答案 0 :(得分:1)

如果您需要从浏览器到服务器的任何内容(用任何语言编写)而无需刷新页面,则Ajax是可行的方法。如今,fetch将是另一种替代方法,其工作方式类似。

如果需要将每个击键发送到服务器(控制器),则应添加一个keyup事件侦听器。在事件侦听器功能中,对端点进行Ajax / fetch调用,然后从控制器返回相关信息。

请记住在请求中包含时间戳,然后将其发送回以作为响应。在大多数此类情况下,如果用户输入速度太快,则希望区分“什么是新内容”与“什么是旧内容”。由于网络延迟,响应通常不会按照发出请求的顺序返回。