File size: 2,791 Bytes
77ebda8 94367ea 77ebda8 94367ea 77ebda8 94367ea 7a5bae5 77ebda8 7a5bae5 77ebda8 94367ea 77ebda8 94367ea 77ebda8 94367ea 77ebda8 94367ea 77ebda8 94367ea 77ebda8 94367ea 77ebda8 7a5bae5 94367ea 7a5bae5 77ebda8 7a5bae5 77ebda8 7a5bae5 77ebda8 7a5bae5 ac28244 77ebda8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
// Ambil elemen
const amountInput = document.getElementById('amount');
const fromCurrency = document.getElementById('fromCurrency');
const toCurrency = document.getElementById('toCurrency');
const resultDiv = document.getElementById('result');
const convertButton = document.createElement('button');
convertButton.textContent = 'Convert';
convertButton.type = 'button';
convertButton.id = 'convertButton';
document.getElementById('currencyForm').appendChild(convertButton);
// Tombol tampil secara default
let isInitialConversion = true;
async function convertCurrency() {
const amount = amountInput.value;
// Validasi input jumlah
if (!amount || amount <= 0) {
resultDiv.innerHTML = "Please enter a valid amount!";
return;
}
try {
const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency.value}`;
// Ambil data dari API
const response = await fetch(url);
const data = await response.json();
// Tangani error API
if (data.result === 'error') {
resultDiv.innerHTML = `Error: ${data['error-type']}`;
} else {
const rate = data.conversion_rates[toCurrency.value];
const convertedAmount = (amount * rate).toFixed(2);
resultDiv.innerHTML = `${amount} ${fromCurrency.value} = ${convertedAmount} ${toCurrency.value}`;
// Sembunyikan tombol setelah konversi pertama
if (isInitialConversion) {
convertButton.style.display = 'none';
isInitialConversion = false;
}
}
} catch (error) {
resultDiv.innerHTML = "Error fetching conversion rate.";
console.error("Error:", error);
}
}
// Fungsi Swap
document.getElementById('swapButton').addEventListener('click', function () {
const tempCurrency = fromCurrency.value;
fromCurrency.value = toCurrency.value;
toCurrency.value = tempCurrency;
if (amountInput.value && amountInput.value > 0) {
convertCurrency(); // Konversi ulang setelah swap
}
});
// Event untuk tombol Convert (klik tombol manual)
convertButton.addEventListener('click', function () {
convertCurrency();
});
// Event otomatis konversi setelah jumlah diisi
amountInput.addEventListener('input', function () {
if (!isInitialConversion) {
convertCurrency(); // Konversi otomatis
}
});
// Event tampilkan tombol jika mata uang diubah
fromCurrency.addEventListener('change', function () {
convertButton.style.display = 'block'; // Tampilkan tombol
isInitialConversion = true; // Reset status awal
resultDiv.innerHTML = ""; // Reset hasil
});
toCurrency.addEventListener('change', function () {
convertButton.style.display = 'block'; // Tampilkan tombol
isInitialConversion = true; // Reset status awal
resultDiv.innerHTML = ""; // Reset hasil
});
|