Как отловить в jQuery Django ModelForm Сохранение, сохранение и добавление нового, сохранение и продолжение - PullRequest
0 голосов
/ 06 мая 2019

Я попытался переопределить отправку модельной формы в Django Admin.В основном мне нужно было отобразить окно подтверждения (с некоторой информацией, извлеченной из БД), и если нажать «Да», то продолжить сохранение.

Код JavaScript выглядит так:

django.jQuery(document).ready(function() {
    $('#assembly_form').on('submit', function(event) {
         event.preventDefault();

        // Ajax get data from db
        // ...
       Confirm('Attention', msg, 'Yes', 'Cancel');

        $('.doAction').click(function() {
          $(this).parents('.dialog-ovelay').fadeOut(500, function() {
            $(this).remove();
          });
          document.forms['assembly_form'].submit();
        });
        $('.cancelAction, .fa-close').click(function() {
          $(this).parents('.dialog-ovelay').fadeOut(500, function() {
            $(this).remove();
          });
        });
 });

Однако, это не работает, как ожидалось.В формах администратора модели Django есть три входа для отправки:

<input type="submit" value="Save" class="default" name="_save">
<input type="submit" value="Save and add new" name="_addanother">
<input type="submit" value="Save and continue modifications" name="_continue">

Операторы document.forms['assembly_form'].submit() запускают отправку по умолчанию "Сохранить".Если нажата Save & Continue или Save & Add New, я не знаю, как получить эту информацию в ('#assembly_form').on('submit').

Любые идеи приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...