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 回答