2013-02-10 68 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