2012-08-17 82 views
2

我正在使用Rails 3的UJS(這是很棒的順便說一句)。我有以下形式的HTML:Rails UJS數據禁用 - 返回結果

<form accept-charset="UTF-8" action="https://stackoverflow.com/users/invitation" class="simple_form form-invite" data-remote="true" method="post"> 
    <input class="btn btn-mini btn-invite" data-disable-with="Inviting" name="commit" type="submit" value="Invite"> 
</form> 

我使用data-disable-with使按鍵文字的變化和按鈕在加工過程中被禁用。不過,我希望在通話完成後將按鈕文字更改爲「已邀請」。

我使用了以下內容:

$(document).on "ajax:success", ".form-invite", (evt, data, status, xhr) -> 
    el = $(this).find('.btn-invite') 
    el.val("Invited") 
    return 

這確實改變了按鈕上的文字。但是,由於在ajax:success區塊內正在處理,所以按鈕文本將恢復爲「邀請」。有什麼方法可以在使用HTML屬性或JavaScript處理後定義按鈕文本?

回答

1

我能夠與未成年人破解解決這個問題:

$(document).on("ajax:success", ".form-invite", function(evt, data, status, xhr) { 
    var el; 
    el = $(this).find('.btn-invite'); 
    setTimeout((function() { 
    return el.val("Invited"); 
    }), 1); 
});