Как получить все данные с полей формы и сформировать на основании этого верстку?

const btnAdd = document.querySelector('.btn'),
    inputName = document.querySelector('#name'),
    inputDescr = document.querySelector('#description'),
    inputLink = document.querySelector('#link'),
    inputPrice = document.querySelector('#price');
.aside {
    &__form {
        padding: 24px;
        background: #fffefb;
        box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.04), 0px 6px 10px rgba(0, 0, 0, 0.02);
        border-radius: 4px;
        max-width: 332px;
        &:hover {
            border: 1px solid $green-color;
            transition: .2s all;
        }
    }
    &__input {
        display: flex;
        flex-direction: column;
        padding-bottom: 16px;

    }
    &__label {
        font-size: 10px;
        line-height: 13px;
        letter-spacing: -0.02em;
        color: #49485e;
        padding-bottom: 4px;
        span {
            &:after {
                position: relative;
                content: "";
                display: block;
                width: 4px;
                height: 4px;
                background: #ff8484;
                border-radius: 4px;
                bottom: 13px;
            }
        }
    }
}



.label {
    &_1 span::after {
        left: 96px;
    }
    &_2 span {
        line-height: 17px;
        &::after {
            display: none;
        }
    }
    &_3 span::after {
        left: 135px;
    }
    &_4 span::after {
        left: 55px;
    }
}

input {
    background: #fffefb;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    width: 284px;
    height: 36px;
    font-size: 12px;
    line-height: 15px;
    padding-left: 16px;
    &::placeholder {
        color: #b4b4b4;
    }
}

textarea {
    width: 284px;
    height: 108px;
    padding: 10px 0 0 16px;
    resize: none;
    background: #fffefb;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    &::placeholder {
        font-size: 12px;
        line-height: 15px;
        color: #b4b4b4;
    }
}
input:focus, textarea:focus {
    border: 2px solid $green-color;
    transition: .1s all;
}

.btn {
    width: 284px;
    height: 36px;
    background: $green-color;
    border-radius: 10px;
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    font-size: 12px;
    line-height: 15px;
    text-align: center;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    &:hover {
    background-color: #619b58;
        transition: .4s all;
  }
}
                <form action="#" id="form" class="aside__form form">
                    <div class="aside__input">
                        <label class="label_1 aside__label label_basic" for="name"><span>Наименование товара<sup></sup></span></label>
                        <input name="name" id="name" type="text" placeholder="Введите наименование товара">
                    </div>
                    <div class="aside__input">
                        <label class="label_2 aside__label label_basic" for="description"><span>Описание товара</span></label>
                        <textarea name="description" id="description" placeholder="Введите описание товара"></textarea>
                    </div>
                    <div class="aside__input">
                        <label class="label_3 aside__label label_basic" for="link"><span>Ссылка на изображение товара</span></label>
                        <input name="link" id="link" type="url" placeholder="Введите ссылку">
                    </div>
                    <div class="aside__input">
                        <label class="label_4 aside__label label_basic" for="price"><span>Цена товара</span></label>
                        <input name="price" id="price" type="text" placeholder="Введите цену">
                    </div>
                    <button class="btn aside__btn">Добавить товар</button>
                </form>

Есть такая форма, задача при клике на button сформировать верстку т.е. отобразить карточки. Валидация не нужна, просто чтобы заполненные поля вывелись в карточку. Можно получить поля просто в массив. Понимаю что нужно вешать обработчики, отменять стандартное поведение и т.д. в целом тяжело картину в голове построить, поэтапно что да как. Нужно на чистом JS реализовать, без jQuery. Если кто поможет буду благодарен


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