我正在尝试为所有帖子用户时间线页面添加实时评论功能。 这就是我所做的:
所有帖子都包含以下html格式的评论部分:
<form action="#" class='post-comment' data-id='3214'>
<input type="text" name='comment'>
<input type='submit' style='visibility: hidden;'>
</form>
以下是处理表单提交事件的Javascript代码:
$(".post-comment").on('submit', function(e){
e.preventDefault(); //STOP default action
var id = $(this).attr("data-id");
console.log('Comment on: '+id);
var dbref = firebase.database().ref('post-user/'+id+'/comments');
var data = $(this).serialize();
var t = Date.now();
dbref.push().set({
postedAt: t,
text:data.comment,
pid:id
});
})
当用户按下回车键后输入一些作为注释后,网页重新加载而不是在Javascript中调用函数。
我想获取评论数据和相应的帖子详细信息(id,authorid),并在输入按键时将评论数据发送到firebase。
在做了一些搜索之后,我开始了解关键的新闻事件,如下所示:
$("input").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("form").submit();
}
});
但在这种情况下,我有多个表单,每个帖子都包含相应的评论表单,所以我很困惑如何在这里实现。
任何帮助将不胜感激。
答案 0 :(得分:0)
将表单设为id
:
<form id='comment-form' action="#" class='post-comment' data-id='3214'>
然后提交该表格:
$("input").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("#comment-form").submit();
}
});