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

时间:2012-09-25 06:43:01

标签: jquery ruby-on-rails ruby rubygems

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

4 个答案:

答案 0 :(得分:3)

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

Here是模糊的工作示例,explanationdocumentation

类似于:

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

确保为AJAX正确设置表单。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

答案 3 :(得分:0)

要向服务器发送新数据,您不需要任何宝石。你可以简单地使用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。如果你找不到,我可能会帮助你。