Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Javascript hdv ve iskonto hesaplama sorunu

Değerli arkadaşlar bende bir kod dizilimi var burda forumdaki birim fiyatı, miktarı, kdv, iskonto 1, iskonto 2, kar marjı inputlarını girdiğimde alış fiyatı, satış fiyatı, toplam alış fiyatı, toplam satış fiyatı bölümlerine otomatik hesap yaptırıp yazdırmak istiyorum ama yapamadım nerede hatlı olduğumuda bulamadım. yardım edermisiniz. kodlar şöyle;


<script type="text/javascript">
function faturaHesapla() {
//*******************inputlardan gelen degerleri okuma*********************
var Birim= document.getElementById("Birim").value;
var kdv= document.getElementById("kdv").value;
var iskt1= document.getElementById("iskt1").value;
var iskt2= document.getElementById("iskt2").value;
var Miktar= document.getElementById("Miktar").value;
var Kar= document.getElementById("Kar").value;
//*************************************************************************

//**********************Matamatiksel islemler******************************
var Hesap1=Birim+(Birim*(kdv/100)); //------bir adet ürünün kdv dahil fiyatı
var Hesap2=Hesap1-(Hesap1*(iskt1/100));//------bir adet ürünün kdv dahil ve iskonto 1 düşülmüş fiyatı
var Hesap3=Hesap2-(Hesap2*(iskt2/100));//------bir adet ürünün kdv dahil, iskonto 1 ve iskonto 2 düşülmüş fiyatı yani aliş fiyatı
var Hesap4=Hesap3+(Hesap3*(Kar/100));//------bir adet ürünün kar marjı eklenmiş fiyatı yani satış fiyatı
var Hesap5=Hesap3*Miktar;//------Toplam ürünün satış fiyatı
//*************************************************************************

document.Stok.Alis.value =Hesap3;
document.Stok.Satis.value =Hesap4;
document.Stok.TplAlis.value =Hesap3*Miktar;
document.Stok.TplSatis.value =Hesap5;
}
</script>

<form name="Stok">
<table border="0">
<tr><td>Birim Fiyati</td><td>:</td><td><input type="text" name="Birim" value="0,00 TL" id="Birim" onBlur="faturaHesapla();"/></td></tr>
<tr><td>Miktar</td><td>:</td><td><input type="text" name="Miktar"/></td></tr>
<tr><td>K.D.V</td><td>:</td><td><input type="text" name="kdv"/></td></tr>
<tr><td>iskonto 1</td><td>:</td><td><input type="text" name="iskt1"/></td></tr>
<tr><td>iskonto 2</td><td>:</td><td><input type="text" name="iskt2"/></td></tr>
<tr><td>Kar Marjı</td><td>:</td><td><input type="text" name="Kar"/></td></tr>
<tr><td>Alis Fiyati</td><td>:</td><td><input type="text" name="Alis"/></td></tr>
<tr><td>Satis Fiyati</td><td>:</td><td><input type="text" name="Satis"/></td></tr>
<tr><td>Toplam Alis</td><td>:</td><td><input type="text" name="TplAlis"/></td></tr>
<tr><td>Toplam Satis</td><td>:</td><td><input type="text" name="TplSatis"/></td></tr>
</table>
</form>
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • huseyiniskender adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    47 cevap - 20 soru
    Bulur tetiklemesini kullanmak böyle çok giriş yapılan bir form için bence uygun değil. Bu yüzden tüm değerlerin girilmesinin ardından sonuç istenmeli. Bu yüzden hesapla adlı bir buton yapıp tıklanma olayına ilgi fonksiyonu yazdım. Çalışmama nedeni ise şu: javascript yönteminde id'ye göre değer almaya çalışmışsın fakat inputlarının sadece birinde id tanımlamışsın diğerlerinde tanımlama yoktu sorun bu. Kendi kafama göre düzenledim eğer istersen kendine göre değiştirirsin. Çalışan son halini altta yazıyorum. iyi çalışmalar.


    <script type="text/javascript"> 
    function faturaHesapla() { 
    //*******************inputlardan gelen degerleri okuma********************* 
    var Birim= document.getElementById("Birim").value; 
    var kdv= document.getElementById("kdv").value; 
    var iskt1= document.getElementById("iskt1").value; 
    var iskt2= document.getElementById("iskt2").value; 
    var Miktar= document.getElementById("Miktar").value; 
    var Kar= document.getElementById("Kar").value; 
    //************************************************************************* 
    
    //**********************Matamatiksel islemler****************************** 
    var Hesap1=Birim+(Birim*(kdv/100));
    var Hesap2=Hesap1-(Hesap1*(iskt1/100));
    var Hesap3=Hesap2-(Hesap2*(iskt2/100));
    var Hesap4=Hesap3+(Hesap3*(Kar/100));
    var Hesap5=Hesap3*Miktar;
    //************************************************************************* 
    
    document.getElementById("Alis").value =Hesap3; 
    document.getElementById("Satis").value =Hesap4; 
    document.getElementById("TplAlis").value =Hesap3*Miktar; 
    document.getElementById("TplSatis").value =Hesap5; 
    } 
    </script> 
    
    
    <table border="0" cellpadding="0" cellspacing="0"> 
    <tr><td>Birim Fiyati</td><td>:</td><td><input type="text" name="Birim" id="Birim"/></td></tr> 
    <tr><td>Miktar</td><td>:</td><td><input type="text" name="Miktar" id="Miktar"/></td></tr> 
    <tr><td>K.D.V</td><td>:</td><td><input type="text" name="kdv" id="kdv"/></td></tr> 
    <tr><td>iskonto 1</td><td>:</td><td><input type="text" name="iskt1" id="iskt1"/></td></tr> 
    <tr><td>iskonto 2</td><td>:</td><td><input type="text" name="iskt2" id="iskt2"/></td></tr> 
    <tr><td>Kar Marjı</td><td>:</td><td><input type="text" name="Kar" id="Kar"/></td></tr> 
    <tr><td>Alis Fiyati</td><td>:</td><td><input type="text" name="Alis" id="Alis"/></td></tr> 
    <tr><td>Satis Fiyati</td><td>:</td><td><input type="text" name="Satis" id="Satis"/></td></tr> 
    <tr><td>Toplam Alis</td><td>:</td><td><input type="text" name="TplAlis" id="TplAlis"/></td></tr> 
    <tr><td>Toplam Satis</td><td>:</td><td><input type="text" name="TplSatis" id="TplSatis"/></td></tr> 
    <tr><td colspan="3" align="right"><input name="islem" type="button" value="Hesapla" onclick="faturaHesapla()" /></td></tr> 
    </table> 
    
    • murat1709 adlı üyenin fotoğrafı murat1709
      teşekkür ederim hüseyiniskender ellerine sağlık
      10 yıl önce yazılmış
    • murat1709 adlı üyenin fotoğrafı murat1709
      Peki hüseyin kardeş biz bu imputlardaki sayısal değerleri tl para birimi cinsine nasıl çevirebiliriz o konuda da yardımcı olurmusun
      10 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.