function kontrol(){

if(typeof ilksayi.value ==="string" || typeof ikincisayi.value ==="string"){
alert("Lütfen Sayi Giriniz");
}
if (ilksayi.value==""|| ikincisayi.value==""){
alert("Boş sayı veremezsiniz");
}
}

şöyle kontrol yazdım. her şu
function topla(e){
e.preventDefault();
kontrol();
toplamsonucumuz=parseInt(ilksayi.value)+parseInt(ikincisayi.value);


sonucumuz.value=toplamsonucumuz;

}
işlemlerden önce ilem olmadan bi alert versin kontrol diye. ama sayı da yazsam her şey doğruda olsa yanlışta olsa çalışıyor anlayamadım

 

alert execution'ı bitirmiyor çünkü, alert çalıştıktan sonra kod çalışmaya devam ediyor.

kontrol fonksiyonu true/false bir şey döner, ona göre topla içerisinde işlem yapıp yapmayacağınıza karar verirsiniz mesela, öyle bir şey olabilir.

Ayrıca typeof yerine Number.isInteger() gibi bir fonksiyon kullanmak daha sağlıklı.

plutongezegendegilmi

kontrol icinde ilksayi.value ve ikincisayi.value degerlerinin 'undefined' olup olmadigini kontrol edin. bu verdiginiz ornekte kontrol fonksiyonuna herhangi bir deger gonderilmedigini goruyorum. dolayisi ile bu degerler "scope chain" ile bir yerden geliyor olmali. gercekten bu degerlere erisebiliyor musunuz kontrol fonksiyonu icinde?

emrahday
1

mobil görünümden çık