如何使用Rails 2.3.8表单助手进行AJAX提交?

时间:2011-03-15 00:42:51

标签: jquery ruby-on-rails

我正在将一个Rails 2.3.8应用程序从Prototype转换为jQuery。我不再使用RJS,这意味着我将remote_form_for调用切换为普通的旧form_for。

但是,这些表单中的提交按钮没有进行AJAX调用。他们正在进行常规的POST。

我在application.js中有一个jQuery函数:

jQuery.fn.submitWithAjax = function () {  
  this.submit(function () {  
    alert("submitting");
    $.post($(this).attr('action'), $(this).serialize(), null, "script");
    return false;  
  });  
};

我在我的表格上打电话:

// Search
$('#lookup').submitWithAjax();

我是否需要在按钮上调用它?我在这里遗漏了一些简单的部分,它可以防止所有碎片掉落到位。

1 个答案:

答案 0 :(得分:2)

$ this this.submit周围需要$.fn.submitWithAjax = function () { $(this).each(function(){ $(this).submit(function () { $.post($(this).attr('action'), $(this).serialize(), null, "script"); return false; }); }); }; 。另外,根据未说明的约定,您应该将其包装在$ .each周围,以便将事件绑定到多个元素。

{{1}}