Различать, на какую ссылку-кнопку нажали в django
У меня есть этот html код:
<form id="my-form" method="POST" action="{% url 'my_view' %}">
{% csrf_token %}
<div class="row">
<div class="col-md-6">
<div class="md-form mb-1">
<textarea id="message" name="message" rows="2" class="form-control md-textarea"></textarea>
</div>
</div>
<div class="col-md-6">
<div class="md-form mb-1">
<textarea id="message_then" name="message_then" rows="2" class="form-control md-textarea"></textarea>
</div>
</div>
</div>
<div class="text-center text-md-left">
<a class="btn btn-primary" onclick="document.getElementById('my-form').submit();" style="width: 78px;" name="name1">Click1</a>
</div>
<div class="text-center text-md-left">
<a class="btn btn-primary" onclick="document.getElementById('my-form').submit();" style="width: 78px;" name="name2">Click2</a>
</div>
</form>
Теперь я хотел бы узнать, какая "кнопка" была нажата. К сожалению, request.POST
не имеет такой информации.
Необходимо добавить еще одно поле, чтобы указать, какая кнопка была нажата.
Эксп: Добавьте это в вашу форму затем обновите код события onclick элементов "a" следующим образом:
<a class="btn btn-primary" onclick="update_form(this)" style="width: 78px;">Click1</a>
Наконец, немного js-кода для обновления формы
<script>
function update_form(button){
document.getElementById("id_button").value = document.getElementById(button).innerText;
document.getElementById('my-form').submit();
}
</script>
В вашем представлении django используйте это, чтобы получить выбранную кнопку: request.POST['id_button']