Показать сообщение отдельно
  #1 (permalink)  
Старый 06.06.2021, 01:21
Новичок на форуме
Отправить личное сообщение для Max96 Посмотреть профиль Найти все сообщения от Max96
 
Регистрация: 06.06.2021
Сообщений: 2

Реализация функционала расчета валюты
Доброй ночи форумчане! Обучаюсь, возникла необходимость сделать функционал для конвертации валют с запросом на сервер, все вроде работает, но есть маленькое "но" , вот код:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style/style.css">
    <script src="script/script.js" defer></script>
    <title>Exchange</title>
</head>
<body>
    <div class="moneyCalc">
        <div class="moneyCalc__section1">
            <div class="UAH_block">
                <p>Введите сумму в UAH</p>
                <input type="number" name="sumUAH" id="sumUAH">
            </div>
            <div class="Select_block">
                <select name="currenclySelection" id="curSelect">
                    <option value="USDcurr">USD</option>
                    <option value="EUROcurr">EURO</option>
                </select>
            </div>
            <div class="Result_block">
                <p class="resultTitle">Результат при обмене:</p>
                <input type="number" name="sumResult" id="sumResult">
            </div>
        </div>
        <div class="moneyCalc__section2">
            <p>Выбрана валюта "Выбранная пользователем валюта", курс "Выбранная валюта" к UAH составляет:</p>
            <p>"Текущий курс"</p>
        </div>
    </div>
</body>
</html>



'use strict';

const inputUAH = document.querySelector('#sumUAH'),
      inputCurrencly = document.querySelector('#sumResult');

inputUAH.addEventListener('input', () => {
    let request = new XMLHttpRequest();
    request.open('get', 'json/value.json');
    request.setRequestHeader('Content-type', 'application/json; charset=utf-8');
    request.send();

    request.addEventListener('readystatechange', () => {
        if (request.readyState === 4 && request.status === 200) {
            let data = JSON.parse(request.response);
            inputCurrencly.value = +(inputUAH.value/data.currency.usd).toFixed(2);
        } else {
            inputCurrencly.value = 'Что-то пошло не так!';
        }
    })
})


У меня в форме select в html есть два свойства для доллара и евро, хочу в обработчик событий добавить возможность в зависимости от выбора валюты пользователем, рассчитывать её курс, для доллара свой, а для евро соответственно свой, как это реализовать? Ах да, пока работаю через XMLHttpRequest и через файлик JSON, JSON файл выглядит следующим образом:
{
    "currency": {
        "usd": "27.453562",
        "euro": "34.669842"
    }
}


Буду очень благодарен за помощь!!! Я просто пока с формами и свойствами JS для форм не очень работаю(, если несложно, можно ссылку на свойства или на похожие задачи с решением! Всем профита!
Ответить с цитированием