v2.5.2
Giriş yap

inputlara girilen değerler ile toplama çıkarma işlemi

hqkqn
542 defa görüntülendi

4 adet input var
1inci inputta rakam değeri yazıyor, (misal 50)
2inci inputa girilen toplanacak değer (+10)
3üncü inputa girilen çıkarılacak değer (-10)
gibi rakam belirtilip
4üncü inputta ise toplam değer (=50)
çıkacak javascript ile bunu nasıl
yapabilirim?. teşekkürler.
not: bu arada inputlarda on blur yada keyup kullanılıyor.

ebykdrms
710 gün önce
<input id="sayi" type="number" placehoder="Sayı" />
<input id="toplanacak" type="number" min="0" placehoder="Toplanacak" />
<input id="cikarilacak" type="number" min="0" placehoder="Çıkarılacak" />
<input id="sonuc" type="text" readonly />
var $sayi = $("#sayi");
var $toplanacak = $("#toplanacak");
var $cikarilacak = $("#cikarilacak");
var $sonuc = $("#sonuc");

function sonucBul() { 
    var sayi = Number($sayi.val());
    var toplanacak = Number($toplanacak.val());
    var cikarilacak = Number($cikarilacak.val());
    if(isNaN(sayi) || isNaN(toplanacak) || isNaN(cikarilacak) { $sonuc.val("Hatalı Giriş!"); return; }
    $sonuc.val(sayi + toplanacak - cikarilacak);
}

$sayi.on("blur keyup", sonucBul);
$toplanacak.on("blur keyup", sonucBul);
$cikarilacak.on("blur keyup", sonucBul);

Bu js komutları html oluşturuldan sonra (input'ların alt satırında kalacak bi'yerlerde) yazılmalı. Aksi halde input'lar henüz DOM'da oluşmadığı için javascript id'ler ile input'ları seçemeyecektir.
Eğer javascript'in input'lardan önce çalıştırılması gerekiyorsa (head tag'ında çağırılması gerekiyorsa mesela) o zaman javascript'e "doküman hazır olduğu zaman çalış" demek lazım:

$(document).ready(function() {
    // ... yukarıdaki komutlar
});