【问题标题】:Clear Rails form after submitting提交后清除 Rails 表单
【发布时间】:2013-02-10 10:16:54
【问题描述】:

我想在提交消息后清除 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('');
    });
}

可能遗漏了一些库?有人可以帮忙吗?

【问题讨论】:

    标签: ruby-on-rails jquery


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了!!!非常感谢,它工作得很好!我花了 15 个小时寻找解决方案。
    猜你喜欢
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多