我正在将一个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();
我是否需要在按钮上调用它?我在这里遗漏了一些简单的部分,它可以防止所有碎片掉落到位。
答案 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}}