我有一个表单字段,我想在提交后立即清空该字段。通常我会做这样的事情:
$("#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/