小编Mar*_*ütz的帖子

rails.js UJS观察者错过了form.submit()

在Rails 3应用程序中,只要切换某个复选框,我想让浏览器调用远程函数.在Rails 2中,通过传递很容易做到

:onclick => remote_function(...)
Run Code Online (Sandbox Code Playgroud)

到复选框助手.在Rails 3中,不推荐使用remote_*函数,因此我尝试了以下解决方法:

  • 使用复选框创建一个表单 form_tag ... :remote => true
  • 通过$("dummy_form").submit();onclick处理程序调用提交表单

与Rails捆绑在一起的rails.js文件是一个侦听submit事件的观察者.但是,这些似乎仅在用户单击提交按钮时触发,而不是在form.submit()调用时触发(到目前为止仅在FF中测试).

这具有不希望的效果,即提交不是通过AJAX在后台完成,而是通常的方式,因此浏览器离开当前站点并显示来自控制器的响应.

有没有人知道解决方法?也许是一种完全不同的方式来获得相同的功能?

unobtrusive-javascript prototypejs ruby-on-rails-3

5
推荐指数
1
解决办法
891
查看次数