Я попытался переопределить отправку модельной формы в 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')
.
Любые идеи приветствуются.