我的应用程序中有评论系统。对于单个视频条目,任何人都可以发表评论,其他人可以发布对该评论和回复的回复,不能有更多的重复,类似于StackOverflow正在做(1个答案,以及他们的1个或更多回复)。
我想要SO的类似功能,让我有以下HTML
<div class="comment" id="comment-908">
First comment
</div>
<div class="reply">
<div id="reply-909>
reply 1
</div>
<div id="reply-910>
reply 2
</div>
<div id="reply-911>
reply 3
</div>
</div>
<form id="reply-form">
<textarea id="replycomment" name="replycomment"></textarea>
<input type="submit" name="submit-reply" value="add reply" />
</form>
现在上面的HTML是我创建的一个示例,当有人点击“添加回复”按钮然后我使用jquery发布回复。
现在我想知道会有多个评论和多个添加回复表单。那么谁点击了哪个按钮以及有人想要发表回复的评论,我怎么知道呢?
上面的HTML不正确,请建议我使用正确的HTML流程以及如何使用jquery?
现在我想知道什么时候呃
答案 0 :(得分:3)
首先将HTML表单更改为类似的内容:
<form class="reply-form" action="url/to/submit/123456" method="post">
...
</form>
这背后的原因是,你不能为多个元素拥有相同的id,因此,为了简化问题,你可以让所有的回复表格都在类回复表格中(这很简单)。添加带有id的表单操作也是一种很好的做法,因此即使您的客户端没有启用javascript / ajax,它也可以在单击提交按钮时起作用。
然后,其余工作将是(假设您的表单是ajax提交):
$(".reply-form").each(function(){
var form = $(this);
var submitUrl = form.attr("action");
$("input:submit", form).click(function(){
// implement the submit logic here.
});
});