2013-02-10 82 views
0

我想在提交邮件后清除text_form。这是我的表格:提交后清除Rails表格

<%= 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 %> 

I`ve这个主题进行,如: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(''); 
    }); 
} 

可能错过了一些图书馆?任何人都可以帮忙

回答

2

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

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

它'惊人!非常感谢,它起作用!我花了15个小时寻找解决方案。 – mahmud 2013-02-10 02:34:49