Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

penjumlahan javascrip tidak bisa otomatis kalau ada hasil yang nilai 0

para master dan suhu sekalian, saya ada kasus mau jumlahkan nilai dengan javascript agar nilai bisa langsung keluar, kini yang saya buat sudah bisa jalan, cmn ada error waktu ada nilai yg hasil nya 0, penjumlahan tidak berjalan seperti gambar ini
image
sedangkan kalau nilai pada pajak penghasilan terutang ada nilai semua hasilnya seperti ini
image

apakah ada coding saya yang salah master, tolong dikoreksi kalau ada yang salah...

http://codepad.org/4OOSqeN3

Tolong master koreksinya....tq sebelumnya... :)

Comments

  • edited December 2017
    yg bermasalah di sekitar row B-G ...
    tapi gw search di code nya tulisan "Jumlah Penghasilan", "Pajak Penghasilan", "Penghasilan" ...
    ndak ketemu semua ...

    di baris berapa yah ?
    'kali gw kelewatan atau editor gw lagi mabok ... :D
  • Sory master @labalaba script nya ada ke potong ga tercopy dengan benar, nanti saya copy ulang lagi....
  • master @labalaba script nyaa kepanjangan, ga bisa tercopy semua, nih mau copy kemana biar bisa lengkapp yah...
  • master @labalaba ini saya copy menjadi 2 yah...
    1. http://codepad.org/YEOzlv70
    2. http://codepad.org/Kd0ZQmtY

    tolong koreksinya...

    tq yah....
  • edited December 2017
    :D :D :D

    koding elo ribet amat. muter-muter.
    banyak yg bisa disederhanakan.

    while ($m = mysql_fetch_assoc($sql_kul)) {
    $mcc = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_jpajak WHERE id = '$m[jpajak]'"));

    while ($m = mysql_fetch_assoc($sql_kul)) {
    $Ckh = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_kode_harta WHERE kode='$m[a41]'"));

    while ($m = mysql_fetch_assoc($sql_kul)) {
    $Ckh = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_kode_harta WHERE kode='$m[b41]'"));
    query di dalam loop ?
    yah, kalo gw sih ndak bakal kejadian, itu malah lebih parah dari subquery, bikin lambat.


    ini dan sejenisnya elo ulang2 banyak banget ...
    var number_string = hitung.toString(),
    sisa = number_string.length % 3,
    rupiah = number_string.substr(0, sisa),
    ribuan = number_string.substr(sisa).match(/\d{3}/g);

    if (ribuan) {
    separator = sisa ? ',' : '';
    rupiah += separator + ribuan.join(',');
    }
    napa kagak dijadikan fungsi ? tinggal panggil ...


    gw nemu banyak banget model kaya begini :
    <input type='text' ... onkeypress='return hanyaAngka(event)' ... readonly>
    readonly itu ndak bakal bisa diketik mas ...
    lalu onkeypress di situ buat apa ?

    ini juga :
    <input type='hidden' ... onkeypress='return hanyaAngka(event)' ... readonly>
    <input type='hidden' ... onkeypress='return hanyaAngka(event)' ... onkeyup='tphmtbg()' readonly>
    sudah hidden, ndak bakal muncul, masih readonly, masih ada onkeypress dan onkeyup nya pula ...


    ini, dan sejenisnya, bisa jalan ...
    if(hitung-200000000>=250000000){
    var phmt4aa3=250000000;
    }else{
    var phmt4aa3=hitung-200000000;
    }
    var number_string = phmt4aa3.toString(),
    phmt4aa3 masih dapat nilainya.
    kalo ndak dari if(), ya dari else nya.
    tapi pasti ada nilainya.

    tapi ini :
    if(hitung>500000000){
    var phmt4aa4=hitung-500000000;
    }
    var number_string = phmt4aa4.toString(),
    phmt4aa4 tidak akan ada nilainya kalo tidak memenuhi syarat if() nya.

    pasti error di perintah ini
    var number_string = phmt4aa4.toString()
    dan script berhenti, tidak berlanjut ke perintah berikut.

    error nya ini :
    Uncaught TypeError: Cannot read property 'toString' of undefined

    elo kan bisa bikin begini :
    else {
    var phmt4aa4 = 0;
    }
  • Master @labalaba yg onkeypress itu untuk pengetikan nya cmn bisa angka saja, jd langsung format ribuan, sdh ada fungsinya, sedangkan yg readonly itu tdk boleh di ketik punya, cmn untuk tampilan aja.

    Kalau ini
    var number_string = hitung.toString(),
    sisa = number_string.length % 3,
    rupiah = number_string.substr(0, sisa),
    ribuan = number_string.substr(sisa).match(/\d{3}/g);

    if (ribuan) {
    separator = sisa ? ',' : '';
    rupiah += separator + ribuan.join(',');
    }

    Mau buat fungsi jadi tinggal manggil gimana yah, soalnya ga gitu paham soal javascript

    Kalau yg ini
    while ($m = mysql_fetch_assoc($sql_kul)) {
    $mcc = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_jpajak WHERE id = '$m[jpajak]'"));

    while ($m = mysql_fetch_assoc($sql_kul)) {
    $Ckh = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_kode_harta WHERE kode='$m[a41]'"));

    while ($m = mysql_fetch_assoc($sql_kul)) {
    $Ckh = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_kode_harta WHERE kode='$m[b41]'"));

    Kalau mau di sederhanakan gimana yah master @labalaba

    Nanti saya coba tambah else lagi mudah2an bisa jalan
  • edited December 2017
    onkeypress itu untuk pengetikan nya cmn bisa angka saja, jd langsung format ribuan, sdh ada fungsinya, sedangkan yg readonly itu tdk boleh di ketik punya, cmn untuk tampilan aja.
    elo coba ini aja ...

    bikin 1 file html, isinya cuma ini :
    <input type='text' readonly>
    coba elo ketik : abcdefghijklmnopqrstuvwxyz
    bisa ?

    lalu bikin 1 file html baru lagi, isinya cuma ini :
    <input type='hidden'>
    coba elo ketik : abcdefghijklmnopqrstuvwxyz
    bisa ?

    lalu event onkeypress itu bakal jalan jika kondisi bagaimana ?
    event onkeyup itu bakal jalan jika kondisi bagaimana ?


    LOGIKA :
    suatu wadah elo tutup permanen, emang ndak bisa diisi, tutupnya ndak bisa dicabut,
    apa masih ada gunanya ditempel tulisan : dilarang diisi dgn air ?

    suatu wadah elo umpetin, elo pendam dalam tanah, ndak keliatan lagi,
    masih elo tutup permanen, emang ndak bisa diisi, tutupnya ndak bisa dicabut,
    apa masih ada gunanya ditempel tulisan : dilarang diisi dgn air ?
  • Yg master @labalaba maksudnya yg readonly sama hidden yah, hahah... Iy itu mubazir, nanti saya hapus master... Sory ga mudeng waktu bacanya...
  • Onkeyup itu bukan nya waktu kita masukan angka dia langsung menjumlahkan otomatis pakai java? Soalnya klo saya ga masukan onkeyup javanya ga jalan, apakah ada salah master, tolong koreksinya...
  • edited December 2017
    [1]
    Onkeyup itu bukan nya waktu kita masukan angka dia langsung menjumlahkan otomatis pakai java? Soalnya klo saya ga masukan onkeyup javanya ga jalan
    ... itu kalo field nya normal, emang bisa diisi ...
    lha kalo elo pasang di field yg readonly dan hidden itu buat apa ?
    readonly, event onkeypress & onkeyup masih jalan,
    tapi orang kan ndak bakal pernah isi di situ.

    jadi
    "onkeypress" = "saat tombol (keyboard) ditekan"
    "onkeyup" = "saat tombol (keyboard) di angkat / lepas"
    itu ya cocok kalo field emang bisa diisi dgn pengetikan keyboard.
    ... gw kan emang ndak nulis onkeyup di field elo yg type text tanpa readonly nya salah ...
    yg gw tunjukin kan HANYA yg pake readonly dan yg hidden.

    bukan error, tetep jalan ... tapi buat apa ?
    cuma buang2 langkah, boros nulis, boros resource memori buat define event nya, dll ...

    PERINTAH : cetak huruf 'A'
    <?php
    for($i=1;$i<=1000000;$i++);
    echo 'A';
    ?>

    salah ? enggak
    jalan ? iya
    hasil benar ? iya
    efektif ? tidak
    efisien ? tidak
    asal jalan ? iya :D

    ntar bingung lagi kalo aplikasi nya jadi lambat ... :D
  • edited December 2017
    [2]
    gw pastikan dulu tujuan elo bikin deretan perintah ini apa ...
    var number_string = hitung.toString(),
    sisa = number_string.length % 3,
    rupiah = number_string.substr(0, sisa),
    ribuan = number_string.substr(sisa).match(/\d{3}/g);

    if (ribuan) {
    separator = sisa ? ',' : '';
    rupiah += separator + ribuan.join(',');
    }
    yg gw tangkep sih elo cuma mau bikin tulisan 10000000 jadi 10,000,000
    betul ?

    Mau buat fungsi jadi tinggal manggil gimana yah, soalnya ga gitu paham soal javascript
    ... lha elo kan sudah bikin banyak fungsi di koding javascript elo ...


    elo bikin begini kan beres :
    function format_angka(angka) {
    var number_string = angka.toString(),
    sisa = number_string.length % 3,
    rupiah = number_string.substr(0, sisa),
    ribuan = number_string.substr(sisa).match(/\d{3}/g);

    if (ribuan) {
    separator = sisa ? ',' : '';
    rupiah += separator + ribuan.join(',');
    }
    return rupiah;
    }
    saat butuh tinggal elo panggil, misal :
    document.getElementById("jpn").value = format_angka(hitung);
    ...
    document.getElementById("j1d").value = format_angka(hitung);
    ...
    document.getElementById("JL3A").value = format_angka(hitung);
    ...
    document.getElementById("tphmt1aa").value = format_angka(tphmt1aa);
    ...
    ... dll ...
    kagak perlu berkali-kali nulis barisan perintah yg sama.


    ... tapi ...
    dibanding bikin fungsi sepanjang itu ... :D
    document.getElementById("jpn").value = hitung.toLocaleString();
    ...
    document.getElementById("j1d").value = hitung.toLocaleString();
    ...
    document.getElementById("JL3A").value = hitung.toLocaleString();
    ...
    document.getElementById("tphmt1aa").value = tphmt1aa.toLocaleString();
    ...
    ... dll ...
    ... hasilnya sama ... :D
    yah, minimal di tempat gw, soalnya gw selalu pake setting language bahasa inggris di perangkat gw yg mana pun :D
    entah kalo yg pake setting bahasa indo jadinya kaya apa ...
    'kali 10.000.000
  • edited December 2017
    [3]
    gw tunjukin 1 aja ...
    <tbody>";
    $query = "SELECT * FROM espt_1770_lamp2a WHERE idwp='$_GET[idwp]'";
    $query .= " ORDER BY waktu";
    $sql_kul = mysql_query($query);
    $fd_kul = mysql_num_rows($sql_kul);
    if($fd_kul > 0){
    $no = $posisi + 1;
    while ($m = mysql_fetch_assoc($sql_kul)) {
    $mcc = mysql_fetch_assoc(mysql_query("SELECT * FROM espt_jpajak WHERE id = '$m[jpajak]'"));
    echo"<tr>
    <td>$m[nama_pemotong]</td>
    <td>".npwp($m['npwp_pemotong'])."</td>
    <td>$m[bukti_potong]</td>
    <td>".baliktglindo($m[tgl_potong])."</td>
    <td>$mcc[ket]</td>
    <td><div align='right'>".minuss($m['pph_dipotong'])."</div></td>
    <td>";
    if(isset($_SESSION['e1770lespt']) AND $_SESSION['e1770lespt'] <> 'TRUE'){
    echo "
    <a href='$aksi3?mod=kpp&width=300&height=200&TB_iframe=true' class='thickbox'>
    <i class='fa fa-pencil-square w3-large w3-text-grey'></i></a>";
    }else{
    echo "
    <a href='med.php?mod=espt-1770-lampiran&act=lamp2&aksi=edit&idwp=$_GET[idwp]&id=$m[id]'>
    <i class='fa fa-pencil-square w3-large w3-text-blue'></i></a>";
    }
    if(isset($_SESSION['hwpespt']) AND $_SESSION['hwpespt'] <> 'TRUE'){
    echo "
    <a href='$aksi3?mod=kpp&width=300&height=200&TB_iframe=true' class='thickbox'>
    <i class='fa fa-trash w3-large w3-text-grey'></i></a>";
    }else{
    echo "
    <a href='$aksi?mod=espt-1770-lampiran&act=hapus-lamp2A&id=$m[id]' onclick=\"return confirm('Yakin hapus data');\">
    <i class='fa fa-trash w3-large w3-text-red'></i></a>";
    }
    echo "
    </td>
    </tr>";
    $no++;
    }
    }else{
    echo"<tr>
    <td colspan='7'><div class='w3-center'><i>Data Pemotong/Pemungut Not Found.</i></div></td>
    </tr>";
    }
    echo"</tbody>
    elo query di dalam loop hanya mau ambil $mcc[ket] doang ? ... dan elo pake SELECT * ? :D

    hambok begini ...
    <tbody>";
    $query = "SELECT a.*,b.ket FROM espt_1770_lamp2a a LEFT JOIN espt_jpajak b ON b.id = a.jpajak WHERE a.idwp='$_GET[idwp]'";
    $query .= " ORDER BY a.waktu";
    $sql_kul = mysql_query($query);
    $fd_kul = mysql_num_rows($sql_kul);
    if($fd_kul > 0){
    $no = $posisi + 1;
    while ($m = mysql_fetch_assoc($sql_kul)) {
    echo"<tr>
    <td>$m[nama_pemotong]</td>
    <td>".npwp($m['npwp_pemotong'])."</td>
    <td>$m[bukti_potong]</td>
    <td>".baliktglindo($m[tgl_potong])."</td>
    <td>$m[ket]</td>
    <td><div align='right'>".minuss($m['pph_dipotong'])."</div></td>
    <td>";
    if(isset($_SESSION['e1770lespt']) AND $_SESSION['e1770lespt'] <> 'TRUE'){
    echo "
    <a href='$aksi3?mod=kpp&width=300&height=200&TB_iframe=true' class='thickbox'>
    <i class='fa fa-pencil-square w3-large w3-text-grey'></i></a>";
    }else{
    echo "
    <a href='med.php?mod=espt-1770-lampiran&act=lamp2&aksi=edit&idwp=$_GET[idwp]&id=$m[id]'>
    <i class='fa fa-pencil-square w3-large w3-text-blue'></i></a>";
    }
    if(isset($_SESSION['hwpespt']) AND $_SESSION['hwpespt'] <> 'TRUE'){
    echo "
    <a href='$aksi3?mod=kpp&width=300&height=200&TB_iframe=true' class='thickbox'>
    <i class='fa fa-trash w3-large w3-text-grey'></i></a>";
    }else{
    echo "
    <a href='$aksi?mod=espt-1770-lampiran&act=hapus-lamp2A&id=$m[id]' onclick=\"return confirm('Yakin hapus data');\">
    <i class='fa fa-trash w3-large w3-text-red'></i></a>";
    }
    echo "
    </td>
    </tr>";
    $no++;
    }
    }else{
    echo"<tr>
    <td colspan='7'><div class='w3-center'><i>Data Pemotong/Pemungut Not Found.</i></div></td>
    </tr>";
    }
    echo"</tbody>
    ... sekali request data, ket nya juga ngikut ...
  • ... satu lagi gw lupa ...

    masalah format angka yg elo pake ...
    selalu bilangan bulat, tanpa desimal (angka sen)
    padahal pajak itu ndak pernah lepas dari angka desimal.

    emang benar yg dibayarkan adalah bulat, karena rupiah ndak kenal sen.
    tapi di perhitungan berurut, yg angka sesudahnya itu dasarnya adalah perhitungan sebelumnya, sen nya harus tetep ada.
    kalo semua dibulatkan ke atas, keenakan dong kantor pajaknya, kebanyakan hasil pembulatan keatasnya :D
  • Wah.... Mantap kali master @labalaba nih w pelajarin dl semua yg master bilang....thanks kali master ilmu nya....
  • master @labalaba sudah saya hapus fungsi yang tidak di pakai, sama penampilan ribuan punya master @labalaba lebih ok, jadi saya ikut yg itu, untuk model semua sudah ok, cmn ini ada 1 masalah lagi master,
    pada bagian enghasilan Tidak Kena Pajak itu kan kita ada isi nilai di K/I .... itu nilai nya kalau saya isi seharusnya ambil nilai di database, bagaimana agar pengambilan data di database mysql di dalam javascritp, kalau sekarang saya hanya langsung masukan ke perhitungan langsung, sedangkan nilai itu kan bisa berubah2, jadi mau saya masukan ke database

    tolong masukan kan lagi master @labalaba .... :)
  • maksudnya gimana ?

    data yg di database isinya apa ?
  • yang ini master @labalaba
    function tphmtbg(){ var nphmt1aa1= document.getElementById("nphmt1aa").value; nphmt1aa = nphmt1aa1.replace(/[^0-9]/g, ''); var nphmt1ab1= document.getElementById("nphmt1ab").value; nphmt1ab = nphmt1ab1.replace(/[^0-9]/g, ''); var jptkp = document.getElementById("jptkp").value; //Untuk Menghitung PTKP PH MT if(jptkp==0){ var hitung=112500000; }else if(jptkp==1){ var hitung=117000000; }else if(jptkp==2){ var hitung=121500000; }else if(jptkp>=3){ var hitung=126000000; } var number_string = hitung.toString(), sisa = number_string.length % 3, rupiah = number_string.substr(0, sisa), ribuan = number_string.substr(sisa).match(/\d{3}/g); if (ribuan) { separator = sisa ? ',' : ''; rupiah += separator + ribuan.join(','); } document.getElementById("ptkp").value = rupiah;

    itu coding yang di javascript. kan ada ini
    if(jptkp==0){
    var hitung=112500000;
    }else if(jptkp==1){
    var hitung=117000000;
    }else if(jptkp==2){
    var hitung=121500000;
    }else if(jptkp>=3){
    var hitung=126000000;
    }
    nilai ini ada di database, jadi kalau saya mau ambil di database gimana yah? cmn posisi di dalam javascript

    sory master banyak tanya
  • edited December 2017
    itu javascript adanya di mana ?

    jadi satu di dalam html / php ?
    atau terpisah jadi file .js ?

    kalo terpisah jadi file .js, cara elo menggabungkan dgn halaman html nya seperti apa ?
Sign In or Register to comment.