javascript - django ajax表单提交for循环中的多个值

标签 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并刷新页面。 ..

如何发布带有评论消息的此表单?

最佳答案

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

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

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

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

关于javascript - django ajax表单提交for循环中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32645940/

相关文章:

javascript - 如何声明一个没有值的变量?

python - Kivy:使散点图与子标签或图像大小相同

python - 找不到真正的 FFmpeg 安装(ffprobe 自带)

php - Ajax/jquery 如何在不刷新页面的情况下从按钮单击发送数据

javascript:找到正确的索引以将对象放置在已排序的对象数组中

javascript - HTMLStyleElement 和 CSSStyleElement 有什么区别

php - python到php的转换

javascript - jquery - 当一系列 promise 成功时运行回调

php - 如何保护/编码 Javascript POST 请求

javascript - 使用 while 调用 javascript 函数