目前我正在尝试通过 JS 和 Ajax 在没有提交按钮的情况下发表评论,并且它有效。
问题是当帖子提交时,页面重新加载到/post/:id/comment
页面,我希望它呈现部分内容,而不是刷新整个页面或将我带到不同的页面。我对 JS 不熟悉,任何帮助将不胜感激!
这就是我正在处理的内容:
JS 回车发帖
<script type="text/javascript" language="javascript">
$(function(){
$('textarea').keypress(function(e) {
if (e.keyCode == 13 && !e.shiftKey) {
e.preventDefault();
var frm = this.form.submit();
$.ajax({
url: frm.attr('action'),
data: frm.serialize(),
complete: function(){
frm.submit();
},
dataType: json
});
}
});
</script>
意见表
<div class="CommentField">
<%= form_for ([micropost, @comment]), :remote => true do |f| %>
<%= f.text_area :content, :class => "CommentText", :placeholder => "Write a Comment..." %>
<% end %>
</div>
EDIT
评论 HTML
<div class='UserCommentContainer'>
<div class='UserPicture'>
<%= image_tag comment.user.avatar.url(:bit), :class =>"PP" %>
</div>
<div class='UserComment'>
<div class='UserName sm'>
<%= link_to comment.user.name, user_path(comment.user) %>
</div>
<div class='UserCommentText'>
<%= comment.content %>
</div>
<div class='UserCommentDate'>
<%= time_ago_in_words(comment.created_at) %>
</div>
</div>
</div>