Testinghh / script.js
GarGerry's picture
Update script.js
2fc40c6 verified
raw
history blame
2.11 kB
// Fungsi untuk menangani submit form
document.getElementById('currencyForm').addEventListener('submit', async function (event) {
event.preventDefault();
const amount = document.getElementById('amount').value;
const fromCurrency = document.getElementById('fromCurrency').value;
const toCurrency = document.getElementById('toCurrency').value;
const resultDiv = document.getElementById('result');
// Validasi input amount
if (!amount || amount <= 0) {
resultDiv.innerHTML = "Please enter a valid amount!";
return;
}
await convertCurrency(amount, fromCurrency, toCurrency, resultDiv);
});
// Fungsi untuk menangani tombol swap
document.getElementById('swapButton').addEventListener('click', async function () {
const fromCurrency = document.getElementById('fromCurrency');
const toCurrency = document.getElementById('toCurrency');
const resultDiv = document.getElementById('result');
// Tukar mata uang
const tempCurrency = fromCurrency.value;
fromCurrency.value = toCurrency.value;
toCurrency.value = tempCurrency;
// Ambil nilai amount
const amount = document.getElementById('amount').value;
if (amount && amount > 0) {
await convertCurrency(amount, fromCurrency.value, toCurrency.value, resultDiv);
} else {
resultDiv.innerHTML = "";
}
});
// Fungsi konversi mata uang
async function convertCurrency(amount, fromCurrency, toCurrency, resultDiv) {
try {
const apiKey = '3ebe2ccf9eeea2aaef280201';
const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency}`;
// Fetch data dari API
const response = await fetch(url);
const data = await response.json();
if (data.result === 'success') {
const rate = data.conversion_rates[toCurrency];
const convertedAmount = (amount * rate).toFixed(2);
resultDiv.innerHTML = `${amount} ${fromCurrency} = ${convertedAmount} ${toCurrency}`;
} else {
resultDiv.innerHTML = `Error: ${data['error-type']}`;
}
} catch (error) {
resultDiv.innerHTML = "Error fetching conversion rate.";
console.error("Error:", error);
}
}