提交后清除Rails表单

时间:2013-02-10 02:11:38

标签: ruby-on-rails jquery

我想在邮件提交后清除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 %>

我已经完成了,就像在这个主题中一样:Clear Rails remote form after submitting。首先我在我的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('');
    });
}
可能有些图书馆错过了吗?任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

如果等待服务器的回复,您可以创建一个.js.erb文件,该文件将在请求后执行。从表单操作推断,在chat_save.js.erb中创建一个名为app/views/chat的文件并添加

$('#chat_text').val('');