2012-02-13 65 views
1

我有一个remote_form_for。现在:onclick我想要禁用提交按钮,并在ajax:完成我想启用按钮回来。使用jQuery将ajax回调到rails 2.3.11

:的onclick禁用工作正常,但是要允许回用AJAX:完整事件不工作。

有什么想法?

这里谈到的代码,

(function(jQuery){ 
    jQuery.fn.disableWith = function(options){ 
     var settings = jQuery.extend({ 
      disable_event : function(e){ 
       e.preventDefault(); 
       return false; 
      } 
     }, options); 

    this.bind('click', function(){ 
     jQuery(this).click(settings.disable_event); 
    }); 
    this.bind("ajax:complete", function(){ 
     jQuery(this).unbind('click', settings.disable_event); 
    }); 

    return this; 
    }; 
})(jQuery); 

回答

0

您使用了错误的事件 - 尝试ajaxComplete

this.bind("ajaxComplete", function(){ 
    jQuery(this).unbind('click', settings.disable_event); 
}); 

Docs on Ajax Events

+0

即使ajaxComplete不工作... :( – 2012-02-13 09:54:09

+0

如果你在事件函数中放置一个'alert();'或'console.log()' - 事件是否触发? – ManseUK 2012-02-13 10:04:10

+0

它不会进入事件内部,所以alert();或console.l og()不提供任何输出。如果我提交表单使用jQuery的ajax函数调用**“ajaxComplete”**工作正常。 – 2012-02-13 13:06:12