2

私は Rails 3 の UJS を使用しています (これはすばらしいことです)。次のフォーム HTML があります。

<form accept-charset="UTF-8" action="/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 を使用して処理した後にボタン テキストを定義する方法はありますか?

4

1 に答える 1

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);
});
于 2012-08-18T10:20:47.720 に答える