Очень нужна помощь по этой части скрипта для управления django formset с помощью кнопки

Всем профи, мне очень нужна помощь. 2 дня назад мой код работал. Теперь он не работает. Проблема в этой строке '$('#id_form-TOTAL_FORMS').attr('value', (parseInt (totalForms))-1);'. 2 дня назад без этой строки все работало. Кнопка управления количеством форм и ее сохранение количества данных соответственно. Но теперь без этой же строки, он не может даже контролировать подсчет правильно. И что еще хуже, он удаляет последнюю строку данных, когда я сохраняю.

Вот что происходит в деталях: При загрузке страницы пользователь может клонировать до 3 дополнительных наборов форм для ввода данных. Итак, в исходном варианте. Всего имеется 4 строки. Если пользователь нажимает сохранить, все 4 строки сохраняются должным образом. Если пользователь не нажимает сохранить, а вместо этого нажимает кнопку '-' на одной из строк, чтобы удалить одну из строк. Станет 2 дополнительных набора форм и останется исходный. Итого 3 строки данных. Но если в это время пользователь нажимает сохранить, то он каким-то образом удаляет еще один дополнительный набор форм из-за строки $('#id_form-TOTAL_FORMS').attr('value', (parseInt (totalForms))-1);

Но сегодня утром, без использования этой строки все работает отлично

    let maxrow = $('#id_form-MAX_NUM_FORMS').attr('value');
    let totalForms = $('#id_form-TOTAL_FORMS').val();


    // Show the total # of forms on run (default is 1)
    console.log(totalForms);


    $('#deleteConfirmation').modal('hide');

    

    $('#addrow').click(function () {
        
        let totalForms = $('#id_form-TOTAL_FORMS').val();
        console.log(totalForms)

        $('#empty-form #removerow').css('display','block');
        
        
        let wholerowclone = $('#empty-form').clone();
        
        $('#morerows').append(wholerowclone.html().replace(/__prefix__/g, totalForms));
        $('#id_form-TOTAL_FORMS').attr('value', (parseInt (totalForms))+1);
  
       

        
        if(totalForms==maxrow) {
            
            $('#addrow').attr("disabled", true);
            $('#addrow').attr("class","btn btn-rounded btn-danger");
            $('#addrow i').attr("class","");
            $('#addrow').html("Reached max limit");
        }

    
        
    })


   
    

    $(document).on('click', '#removerow', function () {
        let totalForms = $('#id_form-TOTAL_FORMS').val();
        console.log(totalForms + " total forms");

        let actualformcount = totalForms-2;
        
 
        console.log(actualformcount + "actual form count");
        console.log(maxrow + "max");
        
        //$('#id_form-TOTAL_FORMS').attr('value', (parseInt (totalForms))-1);
     
     
        $(this).closest('#morerows .row').remove();
        if(actualformcount<maxrow){
            
            $('#addrow').attr("disabled", false)
            $('#addrow').attr("class","btn btn-outline-success btn-rounded")
            $('#addrow i').attr("class","dripicons-plus")
            $('#addrow').html("+") 
        }  
          
    });

HTML:

Вернуться на верх