禁用Rails表单请求

时间:2014-01-31 20:25:26

标签: jquery ajax ruby-on-rails-3 forms

所以我试图在AJAX请求中使用jQuery的serialize来覆盖rails表单:

data : $('#update-form').serialize()

问题是表单正在发出两个请求,一个是通过ajax,另一个是通过实际的rails形式本身。有没有办法使用Rails中的助手制作一个“虚拟”形式,它根本不会提交请求并将其全部留给AJAX请求?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你在这个问题上缺少很多信息,但我想我可以填补空白。不知何故,表单上的某个地方类似于提交按钮。您必须有一个事件监听器,等待单击该按钮。单击该按钮时,即执行使用AJAX发送表单的代码时。如果这一切都是真的,你需要做两件事:

1)确保您的事件处理程序接受将提供的事件对象 2)该事件对象上的preventDefault。这将阻止提交表单。

如果事件处理程序的名称为submitForm,则代码如下所示:

submitForm: function(event){
  event.preventDefault();
  //the rest of your code
}