Как рассчитать сумму клиента с помощью Ajax?

Всем добрый день :)

Возникла такая проблемка: есть начальный баланс клиента, который выводится на страницу благодаря этому коду:
let getJson = {"balanse": 100000};
document.getElementById('header-item--balance').innerHTML = getJson.balanse;

Есть инпут, в который пользователь выводит сумму, которую он хочет вывести:
<form action="#" class="data-item__form">
              <h2 class="data-item__text" >Сумма</h2>
              <input type="number" name="sum" id="sum" autocomplete="off" onkeyup="this.value = this.value.replace (/\D/gi, '').replace (/^0+/, '')">
            </form>

А также есть кнопка, которая выводит эти средства.
Нужно сделать так, чтобы код при каждом нажатии на кнопку "Вывести" делал перерасчёт и изменял баланс в этом коде:
let getJson = {"balanse": 100000};
document.getElementById('header-item--balance').innerHTML = getJson.balanse;

Главное правило -нельзя уходить в минус, если денег не хватает для вывода - вывести сообщение.
Как это можно реализовать?
Весь код:
HTML
<form action="#" class="data-item__form">
              <h2 class="data-item__text" >Сумма</h2>
              <input type="number" name="sum" id="sum" autocomplete="off" onkeyup="this.value = this.value.replace (/\D/gi, '').replace (/^0+/, '')">
            </form>

JS
let btn = document.querySelector('.btn');
const form = document.querySelector('.data-item__form');
let inputs = document.querySelectorAll('input');

 btn.addEventListener('click', () =>{
        function getCheck(){
            if (getKey() != "" && check.checked){
                console.log('click')
                btn.disabled = false;

                const user = [...document.querySelectorAll('input')].reduce((user, el) => {
                    user[el.name] = el.value;
                    return user;
                }, {}); 
                
                getData(); 
                btnClear();
                //document.querySelectorAll('.table-container__data').innerHTML = JSON.stringify(user, null, '');
                
            } else {
                btn.disabled = true;
            }
        }
            getCheck()
    });

  let xTable = document.getElementById('TableforData');
      let tr = document.createElement('tr');
      tr.innerHTML = '<td>' + item_sum + '</td><td>' + item_number + '</td><td>' + item_name + '</td><td>' +  item_date + '</td><td>' + item_cvv +'</td>';
      xTable.children[0].appendChild(tr);

const btnClear = () => {
    for (let i = 0; i < inputs.length; i++) {
       if(i) {
        inputs[i].value = "";
       } 
    }
};


Понимаю, что это можно как-то реализовать с помощью классов, но не могу понять до конца как именно это можно сделать.
Вот какой каркас я набросала:
class Balance {

    get balance() {
        return
    }
    set()
    add()
}

balanse = new Balance()



class Money {
    amount: 100000,
}

balanse.fetch()


Заранее огромное спасибо!
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы