2012-02-28 112 views
0

好了,我已經建立了一個Rails應用程序中,我有一些控制器,它從形式接收在主頁上的數據:Rails的AJAX執行多次

class UsersController < ApplicationController 
    def some_method 
    ... 
    respond_to do |format| 
     format.js { render "some_method_first" } 
    end 
    end 
end 

而且裏面some_method_first.js,我得到:

$("#some_id").prepend("<section id='notice'>example!</section>"); 
$(function() { 
    $("#notice").delay(500).fadeIn('slow', function() { 
    $(this).delay(2500).fadeOut; 
    }); 
}); 

棘手的部分是,當我嘗試在主頁上輸入內容並提交時,第一次很好,但第二次,兩個「示例!」。出現,第三次,三個「榜樣!」部分出現...

我被驅使瘋狂...任何人都可以提供一些線索?

謝謝!

回答

1

看起來您每次都添加新的section。如果你沒有刷新,舊的仍然會在那裏,所以你只是預先考慮另一個。

您需要檢查是否#notice已經存在,或者更好的,只是刪除它每次:

$("#notice").remove(); 
$("#some_id").prepend("<section id='notice'>example!</section>"); 
+0

哇,它的工作!非常感謝你!我應該想到... – Tomato 2012-02-28 01:42:20