创建w / o刷新后清除text_field

时间:2013-02-26 23:29:01

标签: javascript jquery ruby-on-rails ajax

现在我正在使用AJAX创建评论。但是,当我按Enter键时,文本字段仍然填充。我希望该字段刷新(并且仍然可以写入另一个注释)。没有错误,但它似乎仍然没有刷新文本字段。创建部分工作正常。

create.js / erb :(需要在这里修复第二行,以便完全替换)

$('#<%= dom_id(@micropost) %>').html("<%= escape_javascript(render(:partial => @micropost.comments))%>")
$("#comment_field_<%=@micropost.id%>").replaceWith("<%= escape_javascript(render 'shared/comment_form', micropost: @micropost) %>")

微柱/ _micropost:

<span id="<%= dom_id(micropost) %>"><%= render micropost.comments %></span>
<span id="comment_field_<%=micropost.id%>"><%= render 'shared/comment_form', micropost: micropost if signed_in? %></span>

共享/ Comment_form:

<%= form_for @comment, id:"comment_form", remote: true do |f| %>
  <%= hidden_field_tag :micropost_id, micropost.id %>
  <div id="comment_field">
    <%= link_to gravatar_for((current_user), size: 29) %>
    <%= f.text_field :content, placeholder: "Say Something...", id: "comment_text_field", :style => "width: 508px; text-indent: 5px" %>
  </div>
<% end %>

1 个答案:

答案 0 :(得分:0)

只需使用jquery通过设置空值

来清除text_field

create.js.erb

$("#comment_text_field_<%=@micropost.id%>").val("")

使用唯一动态ID的最佳做法,但可能会以任何方式工作。

共享/ Comment_form:

 <%= f.text_field :content, id: "comment_text_field_#{micropost.id}" %>