在丢失焦点文本字段后立即保存数据

问题描述 投票:2回答:4

我想在rails中保存表单中包含许多字段的数据。实际上,我担心当我向表单填充数据时,这些数据可能会意外丢失,所以我想在文本字段失去焦点后逐个保存这些数据。我想知道天气有什么宝石或方法可以做到这一点。

jquery ruby-on-rails ruby rubygems
4个回答
3
投票

使用jQuery模糊功能和@Rab Nawaz说,AJAX提交数据。

Here是模糊的一个工作范例,explanationdocumentation

所以类似于:

$("input").blur(function(){
  $("form.form_class").submit();
});

只需确保为AJAX正确设置表单。

或者,如果你正在寻找宝石,你可以试试这个one。从未使用它,但它看起来很酷。希望能帮助到你。


1
投票

Ajax就是答案。但想想性能。如果您在每个属性失去焦点后发送请求,它将向数据库和服务器发送多个请求。



0
投票

要将新数据发送到服务器,您不需要任何Gem。你可以简单地使用jQuery(当然你可以使用gem for jQuery)。只需将更新代码挂钩到字段的模糊事件即可。

$(document).on('blur', 'input[type=text]', function(e){
  post_data = {}; //prepare your data here
  $.post(UPDATE_URL, post_data, function(response_data){
     console.log(data)
  })
})

现在,当您编辑文本字段时(如果需要,可以在查询中添加其他字段),它会将更新的DATA发送到服务器。您应该放入UPDATE_URL以便可以使用它。但是,您还需要csrf_token_name和值来发布请求。将它们添加到post_data。如果你找不到,我可能会帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.