0

サインアップフォームに次のようなボタンがあります。

<%= image_submit_tag('/assets/atmosphere_forward.png', :class => "signup_submit_button")%>

ユーザーがクリックすると、フォームの処理中に数秒の遅延が発生します。これが発生している間に送信ボタンの画像を変更するにはどうすればよいですか (他のタグで :disable_with を使用するのと同様)?

または、フォームの処理中にのみ表示されるフィールドをフォームに追加するにはどうすればよいですか (「お待ちください」などを含む可能性があります)。

4

1 に答える 1

1

Rails UJS ツールは、入力フィールドの状態を変更したり、クラスを追加/削除したり、プロパティを表示および非表示にしたりするのに十分ではないと思います。JavaScript を使用する必要があります。

form = $('#your_form');
form.submit(function(event) {
  //change the button
  var btn = form.find('input[type="submit"]');
  btn.image = '...';

  //setup the please wait message
  var message = $('<div class="please-wait">Please Wait...</div>');
  form.append(message);
});

フォーム ボタンには CSS を使用し、送信イベント内でクラスを変更することをお勧めします。

于 2012-08-03T16:53:20.953 に答える