django ajax表单提交for循环

时间:2015-09-18 07:11:21

标签: javascript python ajax django

我有一个像这样的django模板:

{% for comment in service.comments.all %}
{{comment.comment}} -- commented by {{comment.user}}<br/>
{% for reply in comment.comment_replies.all %}

{{reply.comment_reply}} -- replied by {{reply.user}}<br/>

{% endfor %}
<form id="comment-replyform" action="/comment/reply/{{comment.id}}/" method="post">{% csrf_token %}

  {{ comment_reply_form.as_p }}

<input type="submit" name="submit" value="Reply">
</form>

{% empty %}
No comments 
{% endfor %}

这里我想用ajax回复评论..所以页面不会刷新.. 我为此编写了javascript代码..

$('#comment-replyform').on('submit', function(event){
    event.preventDefault();
  $.ajax({
           url: $(this).attr('href'),
           success: function(data) {
                    alert("Success");

            }
            });

    })

在这里,我只看到第一个评论回复表单的成功提醒..当我从另一个评论回复字段发送时(因为许多评论可能有很多评论回复表格)..它不会调用ajax并刷新页面。 ..

如何使用评论信息发布此表单?

1 个答案:

答案 0 :(得分:2)

HTML ID必须是唯一的。您不能拥有多个具有相同ID的表单。改为使用一个类。

<form class="comment-replyform" action="/comment/reply/{{comment.id}}/" method="post">

$('.comment-replyform').on(...)

请注意,您似乎没有对表单内容执行任何操作,因此提交仍然无法正常工作。