2012-02-13 66 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