0

メッセージ送信後にtext_formをクリアしたい。これは私のフォームです:

<%= form_for :chat, :html => {:id => 'send_form'}, :url => {:controller => :chat, 
       :action => :chat_save }, :remote => true do |f| %>
    <%= f.text_field(:text, :class => "text_field round") %>
    <%= f.submit(:class => 'button round') %>           
<% end %>

このトピックのように、送信後にRailsリモートフォームをクリアしました。まず、jsファイルでこれを試します。

$('#send_form').submit(function() {
$('#chat_text').val('');
});

text_fieldは明確になりますが、空白行が送信されます。次に、これを試してみます。メッセージが送信されますが、text_fieldが空になりません。

$(document).ready(function () {
    $("#send_form").live("ajax:complete", function(evt, data, status, xhr){
        $('#chat_text').val('');
    });
}

いくつかの図書館が見落とされている可能性がありますか?誰か助けてもらえますか?

4

1 に答える 1

3

サーバーからの応答を待っても問題ない場合は.js.erb、要求後に実行されるファイルを作成できます。フォーム アクションから推測して、in という名前のファイルを作成chat_save.js.erbapp/views/chat、追加します。

$('#chat_text').val('');
于 2013-02-10T02:16:54.803 に答える