如何从单个表单标签提交单独的操作? (姜戈)

问题描述 投票:0回答:1

我编写了以下代码,其中值为 {{category.name}} 的提交操作意外触发了 form_category 中的“创建”按钮,导致出现“请输入名称”消息。

这种方法在之前使用相同逻辑的项目中效果很好。我已经确认 urls.py 已正确设置。可能是什么问题?

<form method="POST">
    {% csrf_token %}
    category name: {{ form_category }}
    <input type="submit" value="create" formaction="{% url 'mk_category' %}">
    <span> | </span>
    {% for category in categories %}
    <input type="submit" value="{{category.name}}" formaction="{% url 'index_with_category' category.id %}">
    {% endfor %}
</form>

非常感谢您的帮助!

将每个提交按钮包装在单独的表单标签中可以解决该问题。但是,我计划将来继续在单个表单中使用多个提交按钮。我检查了多次 urls.py 没有发现问题。

请帮我解决这个问题。

django submit
1个回答
0
投票

答案是 - 您应该为您的提交定义单独的名称。

<form method="POST">
    {% csrf_token %}
    <span>category name: {{ form_category }}</span>
    <input type="submit" name="submit_create" value="create" formaction="{% url 'mk_category' %}" />
    <span> | </span>
    {% for category in categories %}
    <input type="submit" name="submit_update_{{category.id}}" value="{{category.name}}" formaction="{% url 'index_with_category' category.id %}" />
    {% endfor %}
</form>
© www.soinside.com 2019 - 2024. All rights reserved.