JSFiddle - React, Tailwind, and code Playground

by Artur Soul

HTML

<div>
    <form id="linkod" action="" method="post">
        <div class="some_wrap main_data">
            <input type="hidden" name="id">
            <input type="text" name="inn" placeholder="Введите ИНН">
            <input type="text" name="group" placeholder="Введите группу">
        </div>
    </form>
    <div class="some_content">
        <div class="some_wrap">
            <select name="type">
                <option value="Приход">Приход</option>
                <option value="Возврат прихода">Возврат прихода</option>
                <option value="Расход">Расход</option>
                <option value="Возврат расхода">Возврат расхода</option>
            </select>
        </div>
        <div class="product_item" data-id="0">
            <div class="product_item__wrapp">
                <input type="text" name="text" placeholder="Наименование предмета расчета">
                <input type="text" name="price" placeholder="Цена за единицу предмета расчета">
                <input type="number" name="quantity" placeholder="Количество предмета расчета">
            </div>
            <div class="product_item__wrapp">
                <select name="tax">
                    <option value="ставка НДС 20%">ставка НДС 20%</option>
                    <option value="ставка НДС 10%">ставка НДС 10%</option>
                    <option value="ставка НДС расч. 20/110">ставка НДС расч. 20/110</option>
                    <option value="ставка НДС расч. 10/110">ставка НДС расч. 10/110</option>
                    <option value="ставка НДС 0%">ставка НДС 0%</option>
                    <option value="НДС не облагается" selected>НДС не облагается</option>
                </select>
                <select name="paymentMethodType">
                    <option value="Предоплата 100%">Предоплата 100%</option>
                    <option value="Частичная предоплата">Частичная предоплата</option>
                    <option value="Аванс">Аванс</option>
                   ...

JavaScript

$(function() {
        $('#form_send').on('click', function (e) {
            e.preventDefault();

            //arrays
            var result     = [],
                content    = [],
                checkClose = [];

            $('.main_data input').each(function () {
                let key = $(this).attr('name'),
                    val = $(this).val();

                result.push({name:key, value:val});
            });

            for (let k = 0; k < $('.product_item').length; k++){
                var this_product = [];
                var this_payments = [];

                $('.product_item[data-id='+ k +'] input, .product_item[data-id='+ k +'] select').each(function(){

                    var key = $(this).attr('name'),
                        val = $(this).val();

                    this_product.push({name:key, value:val});
                });

                $('.payment_arr input, .payment_arr select').each(function () {
                    var key = $(this).attr('name'),
                        val = $(this).val();

                    this_payments.push({name:key, value:val});
                });

                //formData.append('positions['+ i +']',this_product);

            }

            //add data to content(first part)
            content.push({name:'type', value:$('select[name=type]').val()});
            content.push({name:'positions', value:this_product});

            $('.content_others input').each(function () {
                let key = $(this).attr('name'),
                    val = $(this).val();

                content.push({name:key, value:val});
            });

            //add data to checkClose arr
            checkClose.push({name:'payments',value:this_payments});
            checkClose.push({name:'taxationSystem',value:$('select[name=taxationSystem]').val()});

            //add data to content(last/second part)
            content.push({name:'checkClose',value:checkClose});

            //merge all data from form
   ...