在循环的Django模板中处理多个表单

2024-09-30 03:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

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

{% 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循环中,因此它在那里表示创建了多个表单,具体取决于当前注释的数量

当我单击submit按钮时,问题出现了,我的jquery submit函数不起作用,但只对for循环中创建的第一个表单起作用。我怎样才能让jquery submit创建的所有表单都工作呢


Tags: djangotextinformevent模板id表单
2条回答

因为您在forloop中使用了hereid。因为表单在forloop之间,所以您应该为每个表单元素设置动态id,或者您可以使用类

id属性应该是唯一的

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

然后在jquery中使用

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

相关问题 更多 >

    热门问题