Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 для форм не очень работаю(, если несложно, можно ссылку на свойства или на похожие задачи с решением! Всем профита!
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2021, 01:31
Новичок на форуме
Отправить личное сообщение для Max96 Посмотреть профиль Найти все сообщения от Max96
 
Регистрация: 06.06.2021
Сообщений: 2

Понимаю, что в обработчике событий request.addEventListener('readystatechange'...) должно быть что-то вроде:

if ( Пользователь выбрал value="USDcurr") {
  inputCurrencly.value = +(inputUAH.value/data.currency.usd).toFixed(2);
} else { 
  inputCurrencly.value = +(inputUAH.value/data.currency.euro).toFixed(2);
}


Просто какое свойство в условии поставить, не могу найти или туплю(
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2021, 11:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Max96,
if(curSelect.value == "USDcurr")
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация расчета физического явления faceoff Общие вопросы Javascript 0 15.02.2017 21:31
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Скрипт конвертирования валюты sashok Общие вопросы Javascript 5 15.12.2014 18:53
Реализация сложного Tooltip IvanBond Работа 3 22.08.2013 14:34