Баг или проблема в Map

Столкнулся с такой ситуацией. Использую коллекцию типа Map + вкладки. Так вот, когда мы переключаем вкладки я меняю идентификатор 2х текстовых полей. Когда мы вводим информацию только в 1 поле, жмем проверить, потом переключаемся на другую вкладку и вводим значение в то же поле, то оно подсвечивается, а в коллекцию map добавляется откуда-то взявшееся значение старого input'a. Уже как можно было костылил, а решение так и не нашел. Может я что-то делаю неправильно, подскажите

p.s. в консоль наглядно выводится, что коллекция map в таком случае откуда то вдруг содержит 4 элемента, вместо 3х

    let map = new Map ([
        ['mode', $('ul li.active').data('mode')],
        ['document',$('input[data-id=document]').val()],
        ['seria',$('input[data-id=seria]').val()],
    ]);
    $('input[type=text]').on('keyup keydown paste', function(){
        getid = $(this).data('id');
        map.set(getid,$(this).val());
        $(this).removeClass('error');
    });
    $('.send-btn').click(function(){
        errorHandler();
    });
    function errorHandler(){
        i = 0; size = map.size;
        map.forEach((value, key, map) => {
            console.log(size);
                if (value == '')
                {
                
                    $('.error-block p').css({'opacity':'1'});
                    $('input[data-id='+key+']').addClass('error');
                }else{
                    i++;
                }               
            

          
        });
    }
    $('ul').on('click','li:not(.active)',function(){
        $(this).addClass('active').siblings().removeClass('active');
        
        // changeMode
        map.set('mode',$(this).data('mode'));
        $('input').val('');
        

        if ($(this).data('mode') == 'seria_number')
        {
            map.delete('fio');
            map.delete('po');

            // set new id & labels
            $('input[data-id=po').prev().text('Введите серию документа');
            $('input[data-id=fio').prev().text('Введите номер документа');
            
            $('input[data-id=po').val('').attr('data-id','seria');
            $('input[data-id=fio').val('').attr('data-id','document');          

            map.set('seria','');
            map.set('document',''); 

        }
        else{
            map.delete('document');
            map.delete('seria');
            
            // set new id & labels
            $('input[data-id=seria').prev().text('Программа обучения');
            $('input[data-id=document').prev().text('Введите ФИО');
            
            $('input[data-id=seria').val('').attr('data-id','po');
            $('input[data-id=document').val('').attr('data-id','fio');
            
            map.set('fio','');
            map.set('po','');
            
            $('input[data-id=seria], input[data-id=document]').val(''); 
        
        }
        $('input').removeClass('error');
        $('.error-block p').css({'opacity':0});
        

        
  });
    .prepare ul li:not(:nth-child(1)){
        margin-left: 10px;
    }
    .prepare ul{
        justify-content: center;
        display: flex;
        
    }
    .prepare ul li{
        list-style: none;
        padding: 10px 0;
        transition: all .3s;
        cursor: pointer;
        color: rgb(0 0 0 / 47%);
    }
    .prepare ul li.active{
        box-shadow: 0 2px 0 0px #0000ee;
        color: black;       
    }
    .prepare ul li:hover{
        list-style: none;
        box-shadow: 0 2px 0 0px #0000ee;
        color: black;
    }
    .error-block{
        text-align: center;
    }
    .error-block p{
        font-size: 14px;
        opacity: 0;
        color: red;
        transition: all .3s;
    }
    .error{
        box-shadow: inset 0 0 0 1px red;
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <div class="prepare">
    <ul>
      <li data-mode="seria_number" class="active">Поиск по серии и номеру документа</li>
      <li data-mode="fio_po">Поиск по ФИО и программе обучения</li>
    </ul>
  <div class="error-block">
      <p>Исправьте то, что обведено красным</p>
    </div>
    <div class="d-flex center-flex">
      <div class="prepare-block">
        <p class="input-label">Введите номер документа</p>
        <input type="text" data-id="document" class="custom_one custom-input" value="" placeholder="xxxxxx">
      </div>

      <div class="prepare-block">
        <p class="input-label">Введите серию документа</p>
        <input type="text" data-id="seria" class="custom_two custom-input" value="" placeholder="xxxxxx">
      </div>                
    </div>
  </div>
            <button class="send-btn">test</button>


Ответы (0 шт):