ruby-on-rails - Rails 3.2 :remote => true, 提交后绑定(bind)

标签 ruby-on-rails ajax ruby-on-rails-3 ruby-on-rails-3.2

我有一个表单字段,我想在提交后立即清空该字段。通常我会做这样的事情:

$("#form").submit(function(e){
  e.preventDefault();
  $.post(/* custom craft request */);
  $("#field").val('');
});

当我添加 :remote => true 时,Rails 会处理所有自定义制作,但我找不到在提交后立即绑定(bind)的方法。

文档 ( http://guides.rubyonrails.org/ajax_on_rails.html ) 坚持认为存在 ajax:after 事件,但这似乎不存在。显然这个文档已经完全过时了,因为像remote_form_for这样的其他函数在3.2中不存在

感谢任何帮助。我使用的 setTimeout 确实不太好。

编辑:添加我想要替换的工作 setTimeout 解决方案:

$("#form_id").submit(function(e){
    setTimeout(function(){ 
        //this will happen after submission     
    }, 15);
});

最佳答案

您可以通过执行以下操作附加到 ajax 回调:

$("#form").bind("ajax:send", function(e){
   $("#field").val('');
});

不要忘记包含rails.js库https://github.com/rails/jquery-ujs

关于ruby-on-rails - Rails 3.2 :remote => true, 提交后绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12876875/

相关文章:

ruby-on-rails - 如何避免在 Ruby on Rails 中被调用系统调用阻塞

javascript - 输入总和问题

ruby-on-rails - Rails教程 : Why is there always some session?

ruby-on-rails - rake db:migrate不创建表

javascript - 如何将 javascript 变量设置为 Rails 模型中的列表?

jquery - 为什么我的 POST 请求被解释为 GET?

javascript - AJAX/jQuery : Change DIV background based on number value in it?

javascript - 如何从客户端向服务器发送信息(Flask - python)

JavaScript 堆大小和 Chrome 增加

ruby-on-rails - 在 Rails 3 中弃用的继承资源......响应者