Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Terjadi error saat menjumlahkan antara 2 variabel dari html dengan 1 variabel dari javascript
Saat saya submit setelah angka total gaya dan tinggi diinput tidak terjadi penjumlahan yang seharusnya muncul di label hasil
<label for="Total Gaya">Total Gaya:</label>
<div style="line-break: 70px;">
<input type="text" id="txt1" onkeyup="sum();">
</div>
<label for="Tinggi">Tinggi:</label>
<div style="line-break: 70px;">
<input type="text" id="txt2" onkeyup="sum();">
</div>
<form>
<button class="buttongo">Go!</button>
</form>
<label for="Hasil">Hasil:</label>
<div style="line-break: 70px;">
<input type="text" id="txt3">
</div><script>
var pembagi = 100
pembagi = 100
function sum() {
var txtFirstNumberValue = document.getElementById('txt1').value;
var txtSecondNumberValue = document.getElementById('txt2').value;
var txtTigaNumberValue = document.getElementById('pembagi').value;
var result = parseFloat(txtFirstNumberValue) / parseFloat(txtTigaNumberValue) * parseFloat(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('txt3').value = result;
}
}
</script>Maksud saya dalam penulisan code ini agar penjumlahan (Total Gaya)/(100)*(Tinggi) berjalan. Terima kasih atas perhatiannya kak
Tanggapan
Kode kamu sulit dibaca, coba taro di tag kode dan dirapikan agar bisa dibantu
oke kak saya coba perbaiki
4 Jawaban:
<div>Mohon bantuannya kak apabila terjadi kesalahan dalam code tersebut</div><div><br></div>
Tanggapan
ubah kode kamu di pertanyaan, bukan jadi jawaban ya
<div>Jangan kelupaan <br>Tanda ini kak ;<br>😅 dibelakang nilai 100<br>Atau variabelnya</div>
Tanggapan
akhirnya udah ketemu kak :'D
Jawaban Terpilih
<div>Hallo, izin bantu jawab yaa, permasalahannya yg bisa saya analisa ada beberapa :<br><br>1. Bagian : var pembagi = 100, ini sepertinya bukan masalah nyata, karena di javascript bisa deklarasi variabel tanpa diakhiri dengan tanda titik koma (;), tapi alangkah baiknya jika kamu gunakan tanda titik koma di setiap akhir baris kode kamu, agar terbiasa/disiplin, jadi kodemu agak strict. Intinya sih menghindari bugs atau error.<br><br>2. Pada method/function sum kamu, di body function nya kamu mengambil nilai dari element dengan attribut id txt1 dan txt2 secara langsung, oleh karenanya ketika kita mengetik sebuah huruf/karakter, element tersebut akan menjalankan function sum , karena ada beberapa yg nilainya null, maka function pun error, terutama pada proses perhitungannnya. Untuk mengatasi hal tersebut, mungkin bisa dipecah prosesnya seperti ini :<br><br></div><pre> function sum() { # Simpan element ke variabel tertentu let firstNumber = document.getElementById("txt1"); let secondNumber = document.getElementById("txt2");
# Simpan nilainya, jika pada element belum ada nilainya, maka set nilai variabelnya menjadi 0, untuk mencegah terjadi nilai null
let txtFirstNumberValue = (firstNumber.value !== null) ? firstNumber.value : 0;
let txtSecondNumberValue = (secondNumber.value !== null) ? secondNumber.value : 0;
let txtTigaNumberValue = pembagi;
let result = parseFloat(txtFirstNumberValue) / parseFloat(txtTigaNumberValue) * parseFloat(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('txt3').value = result;
}
}</pre><div><br>Kode akhirnya seperti ini :<br><br></div><pre><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <label for="Total Gaya">Total Gaya:</label> <div style="line-break: 70px;"> <input type="text" id="txt1" onkeyup="sum();"> </div> <label for="Tinggi">Tinggi:</label> <div style="line-break: 70px;"> <input type="text" id="txt2" onkeyup="sum();"> </div> <form> <button class="buttongo">Go!</button> </form> <label for="Hasil">Hasil:</label> <div style="line-break: 70px;"> <input type="text" id="txt3"> </div> <script> let pembagi = 100;
function sum() {
let firstNumber = document.getElementById("txt1");
let secondNumber = document.getElementById("txt2");
let txtFirstNumberValue = (firstNumber.value !== null) ? firstNumber.value : 0;
let txtSecondNumberValue = (secondNumber.value !== null) ? secondNumber.value : 0;
let txtTigaNumberValue = pembagi;
let result = parseFloat(txtFirstNumberValue) / parseFloat(txtTigaNumberValue) * parseFloat(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('txt3').value = result;
}
}
&lt;/script&gt;
</body> </html></pre><div><br>Kamu bisa cek langsung hasilnya disini <a href="https://jsfiddle.net/dzwgb5j1/">https://jsfiddle.net/dzwgb5j1/</a><br><br>Semoga membantu.</div>
Tanggapan
Terima kasih kak atas pemaparannya, ini sangat membantu khususnya bagi saya.
<div>Terima kasih banyak atas bantuannya kak</div>