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

rumus perkalian tidak jalan jika nilai harga diambil dari window (case closed, solved)

2»

Comments

  • edited November 2017
    kok bingung to ...
    dipahami alur nya to ...

    elo generate html pake php.
    jadinya form elo.

    di form elo memanggil javascript, ini sudah lepas dari php.
    javascript nilainya memang bisa di generate dari php.
    tapi di kasus elo, bukan itu yg dipake.
    kasus elo itu "baris dinamis", elo bisa klik dan isi di baris mana pun.
    dan baris nya lebih dari 1.

    jadinya ya ...
    harus ada "nomer baris" yg dikirim ke javascript.
    dan emang sudah dilakukan ... nilai i ... bukan $i.
    emang bener i dihasilkan dari $i ... tapi di form nya.
    di javascript, i itu harus dinamis, sesuai baris yg ditunjuk.

    paham ndak ?
  • //dan tuh rumus juga mesti elo ganti.
    soalnya quantity nya ada di attribute "rel"
    gw benerin 1 wis ...
    parseFloat(document.getElementById("qtypakai"+i).getAttribute('rel'))

    jadi makin bingung :'(

    quantity di rel tp master benerin di rel itu bukan qty tapi qtypakai
  • edited November 2017
    lhah ... form elo kan kaya begini :
    "<tr>
    <td>".$row_brg['material']."</td>
    <td>".$row_brg['qty']."</td>
    <td><input type='text' name='qtypakai".$i."' id='qtypakai".$i."' value=0,00
    rel=".$row_brg['qty']."
    ref='0'
    onfocus='input_focus(this);'
    onkeydown='return input_keydown(this,event);'
    onkeyup='input_keyup(this,".$i.");'
    onblur='return input_onblur(this);'
    >
    </td>
    <td><div id='jumlah' ref=0,00>0,00</div></td>
    </tr>";


    rel=".$row_brg['qty']."
    itu elo sendiri lho ya yg punya ide nulis jumlah quantity di situ.

    dan emang ndak memungkinkan ambil nilai quantity di cell sebelumnya yg elo bikin ...
    <td>".$row_brg['qty']."</td>

    rujukan ID nya kagak ada !

    QUANTITY - PAKAI = SISA
    trus mau bisa dapet nilai QUANTITY dari mana ?

    ya gw pake aja apa yg ada dan sudah elo tulis sendiri.

    dan gw bisa ambil "rel" ... itu kan ada di dalam <input ...>
    dan <input ...> elo punya ID

    <input type='text' name='qtypakai".$i."' id='qtypakai".$i."' value=0,00
      rel=".$row_brg['qty']."
      ref='0'
      onfocus='input_focus(this);'
      onkeydown='return input_keydown(this,event);'
      onkeyup='input_keyup(this,".$i.");'
      onblur='return input_onblur(this);'
    >



    document.getElementById("qtypakai"+i).getAttribute('rel')
    ... ambil nilai attribute "rel" di dalam element yg memiliki ID "qtypakai"+i ...
  • function input_keyup(t,i) {
    t.setAttribute('ref',t.value);
    var temp=
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('rel'))-
    parseFloat(document.getElementById('qty').getAttribute('ref'));
    document.getElementById('qty').setAttribute('ref',temp);
    document.getElementById('qtypakai'+i).innerHTML=format(temp,2);

    calc_total();

    }

    ini terlihat benar tp gak jalan :#
  • edited November 2017
    bener dari mana ?

    document.getElementById('qty').getAttribute('ref')
    ... ambil nilai attribute "ref" di dalam element yg memiliki ID "qty" ...

    element yg punya ID "qty" itu yg mana ?
    emang ada element yg punya ID "qty" ?
    element yg punya attribut "ref" itu ID nya apa ?

    document.getElementById('qty').setAttribute('ref',temp)
    ... set nilai attribute "ref" di dalam element yg memiliki ID "qty" dengan nilai temp ...

    temp itu isinya apa to ?
    harusnya isinya di cetak di mana ?


    element yg punya ID "qty" itu yg mana ?
    emang ada element yg punya ID "qty" ?
    element yg punya attribut "ref" itu ID nya apa ?

    document.getElementById('qtypakai'+i).innerHTML=format(temp,2)
    ... set html yg ada di dalam element yg memiliki ID "qtypakai"+i dengan nilai temp yg di format ,00 ...

    element yg punya ID "qtypakai"+i itu yg mana ?
    bener html di dalam nya mau di isi dgn nilai temp ?

    elo punya ini :
    <div id='jumlah' ref=0,00>0,00</div>

    kapan isinya mau diganti ? diganti pake apa ?
    dan ini gw juga baru sadar ...
    baris elo banyak
    semua punya 'jumlah' ... dan ID nya sama ?



    nih, gw benerin 1 lagi ...
    ini gw anggep ID "jumlah" sudah elo benerin

    document.getElementById('jumlah'+i).innerHTML=format(temp,2);
  • edited November 2017

    <div id='jumlah".$i."' ref=0,00>0,00</div>


    parseFloat(document.getElementById('qtypakai'+i).getAttribute('rel'))-
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('ref'));
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);

    sudah bisa master hanya saja ini kalo pengurangnya lebih besar harus di proteksi dengan alert , gimana master ?

    https://s18.postimg.org/d5sb3xvl5/abcd.jpg
  • edited November 2017
    elo kan punya temp.

    if(temp<0) {
      document.getElementById('jumlah'+i).setAttribute('ref',temp);
      document.getElementById('jumlah'+i).innerHTML=format(temp,2);
    }
    else {
      alert(...);
      t. ...;
      t. ...;
      return ...;
    }

    tuh sudah gw bantuin, ada 4 perintah yg mesti elo tulis.
  • Aq coba" dl master, mentok balik nanya :#
  • begini khan master??/

    ............
    ..............
    calc_total();

    if(temp>0) {
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);
    }
    else {
    alert('ANGKA PAKAI KEBESARAN');
    t.focus();
    t.setAttribute('ref',t.value);
    return false;
    }
    }
    alert keluar saat minus tapi ketika klik OK di alert angka kolom isian "pakai" tidak mau kembali NOL...angka tetap, minus ttp muncul alert hilang dan jadi bisa lanjut

    salahnya dimana ya ??
  • lhadalah ...

    kok ndak paham juga to mas ?

    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);

    ada dimana ?

    kalo elo nulis yg gw tulis setelah calc_total();
    artinya di fungsi yg sama ada 2

    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);

    ...

    itu gw nunjuk fungsi yg sama persis itu supaya elo "ngeh"
    bahwa 2 fungsi itu yg harus diapit, dimasukin ke dalam if() ...

    kok malah bikin baru to yoooo ...

    lha ngapain di fungsi yg sama jalanin 2 perintah yg sama persis ...
  • waduh bukannya masuk dalam satu fungsi
    maksud master gini ya ?

    function input_keyup(t,i) {
    t.setAttribute('ref',t.value);
    var temp=
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('rel'))-
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('ref'));

    if(temp>0) {
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);
    }
    else {
    alert('ANGKA PAKAI KEBESARAN');
    t.focus();
    t.setAttribute('ref',t.value);
    return false;
    }

    calc_total();
    }

  • edited November 2017
    ya bener kaya gitu ...

    lha itu post sebelum nya :

    calc_total();

    if(temp>0) {
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);
    }

    kalo sampai calc_total(); ada sebelum if()
    sementara calc_total(); harusnya ada di akhir ...

    artinya elo kan nulis if() berikut isinya di bawah sendiri.

    padahal seharusnya 2 perintah ini :
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);

    ada sebelum calc_total();

    ...

    ini elo doang yg salah :
    t.setAttribute('ref',t.value);

    harusnya :
    t.select();
  • Sebentar master baru nyadar aq kalo total nya ngak mau...masih noll salah dimana ya ??
    kedua, setelah alert muncul klik ok kembali ke form nilai jumlah jadi tetap

    coding
    https://pastebin.com/k8bYNqea

    pic

    https://s33.postimg.org/l6lfnyuvj/abcd.jpg
  • ini yg ada di fungsi calc_total() :
    if(x[i].id=="jumlah")

    ini yg ada di form elo :
    <div id='jumlah".$i."' ref=0,00>0,00</div>

    kira2 ndak nyambungnya di mana ?
    apa yg mesti diubah ?
  • pastinya ini harus dirubah if(x[i].id=="jumlah")

  • substring? kok kesana? aduh javascript mmg bikin puyeng
  • lha ID elo kan sekarang isinya :
    jumlah1
    jumlah2
    jumlah3
    jumlah4

    itu semua isinya mesti elo jumlah.

    gimana caranya elo bisa tau element dgn ID apa yg mesti di jumlah kalo ID nya kagak sama ?
    "ya dicari persamaannya"

    persamaannya apa ?
    "jumlah"

    dapatnya dari mana ?
    "substring dari ID supaya cuma diambil kata 'jumlah' nya doang"



    gemes gw ama elo :D :D :D
    gw jitak beneran kalo ndak paham2 ...

    if(x[i].id.substring(0,6)=="jumlah")
  • lah ini dapat dari mana ? substring(0,6)
    0,6 ? kenapa tidak 0,9 atau 0,7dsb...?
    kenapa tidak bisa "jumlah"+i ?
    aduhh gimana bisa paham coba...
  • edited November 2017
    elo mau ambil apa to ?

    elo punya string
    jumlah1
    jumlah2
    jumlah3
    jumlah4

    elo mau ambil apanya ?
    0123456
    jumlah1
    index string itu mulai dari 0
    index terakhir yg mau diambil 5
    tapi kalo di fungsi substring, huruf di index terakhir ndak ikut diambil.
    jadi mesti di +1.

    trus kalo kagak ditulis jadi .substring(0,6) ... jadinya yg terambil apa ?

    atau elo bisa pake .substr(index awal, panjang)
    sama aja, .substr(0,6);

    ya jelas ndak mungkin pake jumlah+i
    mau dapat nilai i dari mana ?
  • elo punya string
    jumlah1
    jumlah2
    jumlah3
    jumlah4

    elo mau ambil apanya ?

    0123456
    jumlah1

    bukannya bisa
    jumlah1
    jumlah2
    jumlah3
    jumlah4
    jumlah5
    jumlah6
    jumlah7
    jumlah8
    ..........
    ......dst
    kenapa cuma 0123456 ? aduh puyeng....

    itu master pertanyaan yg ke2 seperti gambar kalau alert sudah di klik ok , isian pakai lebih besar bisa dilewati
    dimana salahnya ??
    https://s33.postimg.org/l6lfnyuvj/abcd.jpg
  • edited November 2017
    gw nulis 0123456 itu buat nunjukin ke elo letak huruf2 nya ...
    j itu index ke 0
    h itu index ke 5

    bukan ngomongin 1,2,3,4,dst di belakangnya "jumlah"


    t.value=0;
    t.setAttribute('ref',0);
    t.focus();
    t.select();
    return false;
  • pada kolom isian setelah klik OK sudah mau ke nol tp di hasil pengurang (sisa) angka tetap
    100-0=100
    100-200=80 ( baru ketik 20 sudah =80, ketik angka lg langsung alert), ketik OK alert jadinya 100-0=80 ====> kok masih 80 gak kembali ke 100 ?
  • ya elo set lagi to isinya.
    elo kan sudah tau apa yg mesti dihitung.
    sudah tau juga cara masukin ke tampilan jumlahnya.
  • siip.... aq mau coba utak atik biar dapat total pakai kalo mentok nanya master yoo :#
  • sudah kuduga gak semudah yg kubayangkan
    aq coba gini

    // function calc_total() {
    var x=d.getElementsByTagName("div");
    var y=d.getElementsByTagName("input");
    var total=0;
    var tot=0;
    for(i=0;i if(y[i].id.substring(0,6)=='qtypakai') tot+=isNaN(parseFloat(y[i].getAttribute("ref")))?0:parseFloat(y[i].getAttribute("ref"));
    }
    d.getElementById("tot").innerHTML=format(tot,2);

    }

    ternyata gak bisa master
  • itu mau bikin apa ?
  • bikin total pakai
    https://s8.postimg.org/r4q10b1qt/abcd.jpg

    bukannya sama logikanya dengan total sisa ??
  • edited November 2017
    sebenernya agak lucu sih kalo elo paksain gitu ...

    kalo yg awal kan ngomong "rupiah"
    jumlah barang x harga barang = jumlah harga
    lalu jumlah harga di total ...
    itu semua jadinya "rupiah", 1 unit yg sama, satuan yg sama.

    tapi kalo yg ini ...
    iya bener elo contoh pake "papan", barang yg sama, unitnya pasti juga sama "lembar"
    tapi apa iya, material nya sama semua ?

    misal kalo kaya gini :
    no | barang | stok | pakai | sisa
     1 | tepung |   50 |    10 |   40
     2 | susu   |  100 |    20 |   80
     3 | telur  |   10 |     3 |    7
    TOTAL                   33 |  127
    tapi apa iya bisa langsung di jumlah gitu ?

    tepung itu satuannya "kilogram"
    susu itu "liter"
    telur satuannya "butir"

    10 kilogram + 20 liter + 3 butir = 33 ?
    40 kilogram + 80 liter + 7 butir = 127 ?

    bisa gituh ?
  • gini master...ini khan aq mau buat form pemakaian material secara FIFO
    makanya diatasnya ada kolom nama material yg harus dia isi
    misal papan akan muncul pembelian-pembelian papan misal dalam sebulan....

    pakai === > akan mengurangi misal papan yg dibeli tanggal 1 november 2017 ( tergantung yg mana dia ambil

    jadi tidak mungkin akan muncul nama-nama material berbeda
  • ya udah kalo sejenis ...

    lha mana form ama koding javascript nya ?
  • Sama master dengan sebelumnya hanya total pakai
    https://pastebin.com/qQszA2u2
  • ???

    lha itu kenapa isi calc_total() jadi ilang ?
    elo kan mau itung total to ?
    total kan hasilnya calc_total().
  • kok hilang khan ada master
    // function calc_total() {
    var x=d.getElementsByTagName("div");
    var y=d.getElementsByTagName("input");
    var total=0;
    var tot=0;
    for(i=0;i<x.length;i++) {
    if(x[i].id.substring(0,6)=='jumlah') total+=isNaN(parseFloat(x[i].getAttribute("ref")))?0:parseFloat(x[i].getAttribute("ref"));
    }
    d.getElementById("total").innerHTML=format(total,2);

    for(i=0;i<y.length;i++) {
    if(y[i].id.substring(0,6)=='qtypakai') tot+=isNaN(parseFloat(y[i].getAttribute("ref")))?0:parseFloat(y[i].getAttribute("ref"));
    }
    d.getElementById("tot").innerHTML=format(tot,2);

    }
  • edited November 2017
    .substring(0,6)=='qtypakai'

    ini apa ndak baca yg ta jelasin yah ...
  • edited November 2017
    lah master bilang
    if(x[i].id=="jumlah")

    ini yg ada di form elo :
    <div id='jumlah".$i."' ref=0,00>0,00</div>
    if(x[i].id.substring(0,6)=="jumlah")

    lah id='qtypakai".$i."' khan aq pakai sama...
    kalo aq pakai if(x[i].id=="qtypakai") khn gak nyambung ama id='qtypakai".$i."'

    aduuh master kasi tau gitu ... :/

  • wkwkwkwk
    .substring(0,8)
    wkwkwkwkwk
  • sepertinya ada masalah pada alert
    saat 50 - 49 = 1 ini OK
    saat 50 - 50 keluar alert nya ===> angka kebesaran

    https://s2.postimg.org/tn871ie2x/abcde.jpg

    salahnya dimana y master ??

    //var temp=
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('rel'))-
    parseFloat(document.getElementById('qtypakai'+i).getAttribute('ref'));

    if(temp > 0) {
    document.getElementById('jumlah'+i).setAttribute('ref',temp);
    document.getElementById('jumlah'+i).innerHTML=format(temp,2);
    }
    else {
    alert('ANGKA PAKAI KEBESARAN');
    t.value=0;
    t.setAttribute('ref',0);
    t.focus();
    t.select();
    return false;
    }

    calc_total();
    }
  • edited November 2017
    hoalah ...

    temp itu isinya hasil pengurangan elo (sisa) ...
    if() nya kondisi nya ...

    masa ya ndak paham ?

    ------------------------------
    stok = 50, pakai = 10, sisa = 50 - 10 = 40 ... ini isinya temp

    if(temp > 0) {
    }
    else {
    }

    masuk if ? atau else ?
    ------------------------------
    stok = 10, pakai = 20, sisa = 10 - 20 = -10 ... ini isinya temp

    if(temp > 0) {
    }
    else {
    }

    masuk if ? atau else ?
    ------------------------------
    stok = 10, pakai = 10, sisa = 10 - 10 = 0 ... ini isinya temp

    if(temp > 0) {
    }
    else {
    }

    masuk if ? atau else ?
    ------------------------------


    masih ndak paham ?
    harusnya yg terakhir itu masuk if atau else ?
    tau yg mesti diubah ?
  • Aduh maaf master gak lihat...itu alert setelah else....
    Sudah master
    If(temp >=0) {
    ..........
    }
    else{
    Alert.........
    .....
    }
  • Solved case closed
    Terimakasih master...suksma , suksma, suksma
Sign In or Register to comment.