GarGerry commited on
Commit
7a5bae5
·
verified ·
1 Parent(s): 020c50f

Update script.js

Browse files
Files changed (1) hide show
  1. script.js +45 -7
script.js CHANGED
@@ -1,40 +1,78 @@
1
- document.getElementById('currencyForm').addEventListener('submit', async function(event) {
2
  event.preventDefault();
3
 
 
4
  const amount = document.getElementById('amount').value;
5
  const fromCurrency = document.getElementById('fromCurrency').value;
6
  const toCurrency = document.getElementById('toCurrency').value;
7
  const resultDiv = document.getElementById('result');
8
 
 
9
  if (!amount || amount <= 0) {
10
  resultDiv.innerHTML = "Please enter a valid amount!";
11
- resultDiv.style.color = 'red';
12
  return;
13
  }
14
 
15
  try {
16
- const apiKey = '3ebe2ccf9eeea2aaef280201';
17
  const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency}`;
 
 
18
  const response = await fetch(url);
19
  const data = await response.json();
20
 
 
21
  if (data.result === 'error') {
22
  resultDiv.innerHTML = `Error: ${data['error-type']}`;
23
  } else {
 
24
  const rate = data.conversion_rates[toCurrency];
25
  const convertedAmount = (amount * rate).toFixed(2);
26
  resultDiv.innerHTML = `${amount} ${fromCurrency} = ${convertedAmount} ${toCurrency}`;
27
  }
28
  } catch (error) {
29
  resultDiv.innerHTML = "Error fetching conversion rate.";
30
- console.error(error);
31
  }
32
  });
33
 
34
- document.getElementById('swapButton').addEventListener('click', function() {
 
35
  const fromCurrency = document.getElementById('fromCurrency');
36
  const toCurrency = document.getElementById('toCurrency');
37
- const temp = fromCurrency.value;
 
 
 
38
  fromCurrency.value = toCurrency.value;
39
- toCurrency.value = temp;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  });
 
1
+ document.getElementById('currencyForm').addEventListener('submit', async function (event) {
2
  event.preventDefault();
3
 
4
+ // Ambil nilai input dari user
5
  const amount = document.getElementById('amount').value;
6
  const fromCurrency = document.getElementById('fromCurrency').value;
7
  const toCurrency = document.getElementById('toCurrency').value;
8
  const resultDiv = document.getElementById('result');
9
 
10
+ // Validasi jumlah yang dimasukkan
11
  if (!amount || amount <= 0) {
12
  resultDiv.innerHTML = "Please enter a valid amount!";
 
13
  return;
14
  }
15
 
16
  try {
17
+ const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
18
  const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency}`;
19
+
20
+ // Mengambil data dari API
21
  const response = await fetch(url);
22
  const data = await response.json();
23
 
24
+ // Menangani respon API yang error
25
  if (data.result === 'error') {
26
  resultDiv.innerHTML = `Error: ${data['error-type']}`;
27
  } else {
28
+ // Menyusun nilai konversi dan menampilkannya
29
  const rate = data.conversion_rates[toCurrency];
30
  const convertedAmount = (amount * rate).toFixed(2);
31
  resultDiv.innerHTML = `${amount} ${fromCurrency} = ${convertedAmount} ${toCurrency}`;
32
  }
33
  } catch (error) {
34
  resultDiv.innerHTML = "Error fetching conversion rate.";
35
+ console.error("Error:", error); // Menampilkan error di konsol
36
  }
37
  });
38
 
39
+ // Logika untuk tombol Swap
40
+ document.getElementById('swapButton').addEventListener('click', async function () {
41
  const fromCurrency = document.getElementById('fromCurrency');
42
  const toCurrency = document.getElementById('toCurrency');
43
+ const resultDiv = document.getElementById('result');
44
+
45
+ // Tukar nilai antara "From" dan "To"
46
+ const tempCurrency = fromCurrency.value;
47
  fromCurrency.value = toCurrency.value;
48
+ toCurrency.value = tempCurrency;
49
+
50
+ // Ambil nilai input amount
51
+ const amount = document.getElementById('amount').value;
52
+
53
+ // Jika ada jumlah yang dimasukkan, langsung lakukan konversi ulang
54
+ if (amount && amount > 0) {
55
+ try {
56
+ const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
57
+ const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency.value}`;
58
+
59
+ // Mengambil data dari API
60
+ const response = await fetch(url);
61
+ const data = await response.json();
62
+
63
+ if (data.result === 'error') {
64
+ resultDiv.innerHTML = `Error: ${data['error-type']}`;
65
+ } else {
66
+ const rate = data.conversion_rates[toCurrency.value];
67
+ const convertedAmount = (amount * rate).toFixed(2);
68
+ resultDiv.innerHTML = `${amount} ${fromCurrency.value} = ${convertedAmount} ${toCurrency.value}`;
69
+ }
70
+ } catch (error) {
71
+ resultDiv.innerHTML = "Error fetching conversion rate.";
72
+ console.error("Error:", error);
73
+ }
74
+ } else {
75
+ // Jika tidak ada amount, hapus hasil konversi
76
+ resultDiv.innerHTML = "";
77
+ }
78
  });