Cara mengatasi Cannot read property 'val' of undefined

6.JPG7.JPG

Maaf mau tanya. Cara mengatasi "Cannot read property 'val' of undefined" pada script ini bagaimana ya caranya gan. permasalahan seperti pada gambar diatas, ketika nilai rata rata dan kehadiran diinputkan lalu di klik hitung, maka akan muncul keterangan Lulus/Tidak Lulus. tetapi disini keterangan yang muncul hanya Tidak Lulus saja.

avatar codeinmyid
@codeinmyid

7 Kontribusi 6 Poin

Diperbarui 3 tahun yang lalu

Tanggapan

ubah kode kamu jadi kode yang copy paste ya, bukan screenshot, baca aturan main

2 Jawaban:

Jawaban Terpilih

<div>masalah teratasi :<br>Karena value dari text input selalu string,</div><div>String di compare dengan number akan selalu false</div><div>Solusi: kasih parseInt()<br><br></div><pre>&lt;script type="text/javascript"&gt; $('#modalTambahKelulusan #hitung').click(function () { // var keterangan = $('#modalTambaKelulusan #keterangan').val(); // var ratarata = $('#modalTambaKelulusan #ratarata').val(); // var kehadiran = $('#modalTambahKelulusan #kehadiran').val(); // var keterangan = parseInt($('#modalTambahKelulusan #keterangan').val()); var ratarata = parseInt($('#modalTambahKelulusan #ratarata').val()); var kehadiran = parseInt($('#modalTambahKelulusan #kehadiran').val());

    if(ratarata &amp;gt; 70 &amp;amp;&amp;amp; kehadiran &amp;gt;= 75){
        $(&#039;#modalTambahKelulusan #keterangan&#039;).val(&#039;Lulus&#039;);
    } else {
        $(&#039;#modalTambahKelulusan #keterangan&#039;).val(&#039;Tidak Lulus&#039;);
    } 
    
    $(&#039;#modalTambahKelulusan #keterangan&#039;).val(keterangan.val());
    });

&lt;/script&gt;</pre>

avatar codeinmyid
@codeinmyid

7 Kontribusi 6 Poin

Dipost 3 tahun yang lalu

Tanggapan

Itu sudah benar, bisa dikasih parseInt() atau bisa juga dikasih Number()

<div>Cara mengatasi "Cannot read property 'val' of undefined" adalah dengan menghilangkan ".val()".<br><br>Cari baris yang seperti ini :</div><pre>$('#modalTambahKelulusan #keterangan').val(keterangan.val());</pre><div><br>Diganti dengan ini :</div><pre>$('#modalTambahKelulusan #keterangan').val(keterangan);</pre><div><br><br>Ini dikarenakan di var keterangan sudah ada ".val()".<br>Jadi, jika value keterangan sama dengan "Tidak Lulus", maka jika dikasih ".val()" lagi akan menghasilkan seperti ini :</div><pre>"Tidak Lulus".val()</pre><div><br>Maka akan terjadi error.<br><br>Semoga membantu</div>

avatar syahid246
@syahid246

70 Kontribusi 160 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban