我想在邮件提交后清除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('');
});
}
可能有些图书馆错过了吗?任何人都可以帮忙吗?
答案 0 :(得分:2)
如果等待服务器的回复,您可以创建一个.js.erb
文件,该文件将在请求后执行。从表单操作推断,在chat_save.js.erb
中创建一个名为app/views/chat
的文件并添加
$('#chat_text').val('');