@KatyaBychko

При удаление объекта модели Django с подтверждением через всплывающее окно, при нажатии отмены все равно удаляет объект, в чем проблема?

HTML
<form action="{% url 'webresource:delete-item' object.id %}" method="POST" onclick="clicked()">
                {% csrf_token %}
                <button class="btn">Delete</button>
        </form>


JS
function clicked() {
       if (confirm('Вы действительно хотите удалить запись?')) {
           yourformelement.submit();
       } else {
        return false;
       }
    }
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
@teenager_python
Проблема, вероятно, связана с тем, что при нажатии кнопки "Отмена" форма все равно отправляется и объект удаляется. Это может происходить из-за того, что функция clicked() не прерывает действие по умолчанию (отправку формы), когда пользователь нажимает кнопку "Отмена".

Для решения этой проблемы можно использовать метод preventDefault() объекта события в функции clicked(), чтобы прервать действие по умолчанию (отправку формы), когда пользователь нажимает кнопку "Отмена".

function clicked(event) {
   if (confirm('Вы действительно хотите удалить запись?')) {
       yourformelement.submit();
   } else {
       event.preventDefault();
       return false;
   }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы