Bu örneğimizde “.oninput” olayını kullanarak basit bir hesaplama örneği yapacağız.
“.oninput” nesneye değer girildiğinde veya nesnenin içerisindeki değer değiştirildiğinde butona gerek duymaksızın, belirlenen yere sonucu yazdırır.
1 2 3 4 5 |
<input type="text" id="sayi1"> <input type="text" id="sayi2"> <input type="text" id="islem" value="+"> |
Html: Sayıları kullanıcıdan almak için text nesnesi oluşturuyoruz. Hangi işlemin yapılacağını ayrı bir text oluşturduk ve sonucu ekrana yazdırmak için bir div oluşturduk. İşlem ilk başta varsayılan olarak toplama işlemini yapacaktır.
1 2 3 4 5 6 |
var nesneS1=document.getElementById("sayi1"); var nesneS2=document.getElementById("sayi2"); var islem=document.getElementById("islem"); var nesneGoster=document.getElementById("goster"); |
JavaScript: Nesneleri değişken içeresinde atayarak tanımlıyoruz.
1 2 3 4 5 |
nesneS1.oninput=islemOlay; nesneS2.oninput=islemOlay; islem.oninput=islemOlay; |
“.oninput” input etiketinin içerisine değer girildiğinde/değiştirildiğinde bir butona basmaya gerek duymaksızın ekrana yazdırır.
“.oninput” olayını nesnelere atıyoruz. Böylece ilk sayı girildiğinde ekrana yazdıracak, ikinci sayı girildiğinde varsayılanı toplama ayarladığımız için iki sayıyı toplayıp ekrana yazdıracaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
function islemOlay(e) { var sayi1=Number(nesneS1.value); var sayi2=Number(nesneS2.value); if(islem.value=="+") { nesneGoster.innerHTML=sayi1+sayi2; } else if(islem.value=="-") { nesneGoster.innerHTML=sayi1-sayi2; } else if(islem.value=="*") { nesneGoster.innerHTML=sayi1*sayi2; } else if(islem.value=="/") { nesneGoster.innerHTML=sayi1/sayi2; } else { nesneGoster.innerHTML="Tanımlanmayan Operatör"; } } |
Nesneleri sayıya çevirdikten sonra operatörler için uygulanacak kodları yazıyoruz ve tanımladığımız div nesnesinin içerisinde gösterilmesini sağlıyoruz. Belirlenen operatörler dışında bir operatör kullanıldığı takdirde ise “Tanımlanmayan Operatör” yazısı ekranda yazacaktır.
Etiketlerin içerlerindeki değerlerini değiştirmek için JavaScriptten çekerken; kapanışı olan etiketler için (div etiketi gibi ) “.innerHTML” kullanılırken kendi içerisinde kapanan etiketler için (input etiketleri gibi) “.value” kullanılır. Böylece değişiklik yaparken içlerindeki değerler de değişir. “goster” divinin içerisine sonucu yazdırırken de “.innerHTML” kullanıyoruz.
Css: Son olarak stil kodlarını ekleyerek nesneleri alt alta alıyorum ve dive kenarlık ekleyerek yerini belirliyorum.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style> input{ display: block; margin: 10px; } #goster{ width: 152px; height: 35px; margin: 10px; border: 1px solid #848484; background: #EDEDED; padding: 3px; } </style> </head> <body> <input type="text" id="sayi1"> <input type="text" id="sayi2"> <input type="text" id="islem" value="+"> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
var nesneS1=document.getElementById("sayi1"); var nesneS2=document.getElementById("sayi2"); var islem=document.getElementById("islem"); var nesneGoster=document.getElementById("goster"); nesneS1.oninput=islemOlay; nesneS2.oninput=islemOlay; islem.oninput=islemOlay; function islemOlay(e) { var sayi1=Number(nesneS1.value); var sayi2=Number(nesneS2.value); if(islem.value=="+") { nesneGoster.innerHTML=sayi1+sayi2; } else if(islem.value=="-") { nesneGoster.innerHTML=sayi1-sayi2; } else if(islem.value=="*") { nesneGoster.innerHTML=sayi1*sayi2; } else if(islem.value=="/") { nesneGoster.innerHTML=sayi1/sayi2; } else { nesneGoster.innerHTML="Tanımlanmayan Operatör"; } } </body> </html> |
Diğer Örnekler:
- JavaScript Hipotenüs Hesaplama Örneği
- JavaScript Sayısal Loto Örneği
- JavaScript Varmısın Yokmusun Örneği
- JavaScript Dizi İçindeki En Büyük En Küçük Sayıyı Bulma Örneği
- JavaScript Dikdörtgen Alan ve Çevre Hesaplama Örneği
- JavaScript Asal Sayı Kontrol Etme Örneği
- JavaScript Daire Alanı ve Çevresini Hesaplama Örneği
- JavaScript Faktoriyel Hesaplama Örneği
- JavaScript While Döngüsü Örnekleri
- JavaScript Metin İçinde Arama Yapma Örneği
- JavaScript Switch Case Kullanımı Örneği
- JavaScript Rastgele Sayı Üretme Örneği
- JavaScript Girilen Sayının Negatif Pozitif Olduğunu Bulan Örnek
- JavaScript Sayfa Arkaplan Rengini Rastgele Değiştirme Örneği
- JavaScript Dizi Metotları Örnekleri
- JavaScript Km-Mil Çevirme Örneği
- JavaScript Derece-Fahrenayt Çevirme Örneği
- JavaScript Gün İsmini Ekrana Yazdırma Örneği
- JavaScript Sayı Tahmin Oyunu Örneği
- JavaScript Console Log Kullanımı
- JavaScript Kürenin Hacmini Hesaplama Örneği
- JavaScript Üçgenin Alanını Hesaplama Örneği
- JavaScript Çarpım Tablosu Örneği
- JavaScript 3′ e ve 5′ e Tam Bölünebilme Örneği
- JavaScript Karenin Alanı ve Çevresini Hesaplama Örneği
- JavaScript Yazılı Ortalaması Hesaplama Örneği
- JavaScript Try-Catch-Finally Kullanımı Örneği
- JavaScript Div İçeriğini Temizleme Örneği
- JavaScript Switch-Case Kullanımı Örneği
- JavaScript Buttona tıklandığında Kod Çalıştırma Örneği
- JavaScript events(olay) kullanımı Örnekleri
- JavaScript For Döngüsü Karışık Örnekler
- JavaScript Tarih ve Saat Yazdırma Örneği
- JavaScript Fonksiyon Kullanımı Örneği
- JavaScript Vize Final Hesaplama Örneği
- JavaScript onInput Olay Kullanımı Örneği
- JavaScript Kayan Yazı Örneği
- JavaScript Kombinasyon Hesaplama
- JavaScript radio Kullanarak Dört İşlem Örneği
- JavaScript Toplama Çıkarma Çarpma Bölme Örneği
- JavaScript Sayfayı Tam Ekran Yapma Örneği
- JavaScript Fare Konumunu Öğrenme Örneği
- JavaScript Object Kullanımı Örneği
- JavaScript Kalan Karakter Bulma- Karakter Sayma Örneği
- JavaScript Mükemmel Sayı Kontrol Etme Örneği
Oneinput kullanarak aynı sayfa içerisinde bir toplama işlemini 2 farklı yerde gösterebilir miyiz?
tek function içinde yapınca oluyormuş
cidden böyle bir sayfanın az görüntülenmesine üzüldüm.