现在我正在使用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 %>
答案 0 :(得分:0)
只需使用jquery通过设置空值
来清除text_fieldcreate.js.erb
$("#comment_text_field_<%=@micropost.id%>").val("")
使用唯一动态ID的最佳做法,但可能会以任何方式工作。
共享/ Comment_form:
<%= f.text_field :content, id: "comment_text_field_#{micropost.id}" %>