【问题标题】:Handle mutitple forms in django template for loop在 django 模板中处理多个表单以进行循环
【发布时间】:2019-08-21 15:25:38
【问题描述】:

我在使用 jquery 循环处理 django 模板中的表单时遇到问题

{% for comment in commets %}

<!-- reply to comment -->
<form id="replyform" action="" method="POST">
<input type="hidden" name="comment-id" value="{{comment.id}}">

<textarea id="text"> </textarea>
</form>


{% endfor %}


<script>
 $("#replyform").submit(function(event){
  event.preventDefault()
  var gettext= $("#text",this).val();

 })
</script>

由于表单处于 for 循环中,因此 for 意味着创建了多个表单,具体取决于存在的 cmets 的数量。

当我单击提交按钮时出现问题,我的 jquery 提交功能不起作用,但仅适用于在 for 循环中创建的第一个表单。我怎样才能使创建的所有表单都可以与 jquery submit 一起使用。

【问题讨论】:

    标签: python jquery django


    【解决方案1】:

    因为您在 forloop 中使用了此处的 id。由于表单位于 forloop 之间,因此您应该为每个表单元素设置动态 id,或者您可以使用类。

    【讨论】:

    • 如何设置动态id请帮忙
    【解决方案2】:

    id 属性应该是唯一的

    如果您的所有表单都具有相同的提交功能,
    尝试使用 class 而不是 id。
    &lt;form class="replyform" ...&gt;&lt;textarea class="text"&gt; &lt;/textarea&gt;

    然后在你的jquery中使用

    $('.replyform').submit(function(event){
        event.preventDefault();
        var gettext= $(".text", this).val();
    });
    

    【讨论】:

      猜你喜欢
      • 2019-01-08
      • 2015-11-05
      • 2019-08-08
      • 2018-08-02
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 2010-09-22
      • 2012-06-27
      相关资源
      最近更新 更多