• 26-09-2014, 12:31:54
    #1
    merhaba arkadaşlar sorunum şu şekilde 2 sayıyı java ile topluyor sonucu div içinde yazıyorum fakat örneğin sayının birini henüz yazmayınca aşşağıda "NaN" yazısı çıkıyor.. bunu nasıl aşabilirim NaN yerine hiçbirşey yada Diğer veri bekleniyor gibi birşey yazdırabilirmiyim..

    <html>
    <head>
    </head>
    <body>
    <script>
    function doMath() {
        var sayi1 = parseInt(document.getElementById('sayi1_input').value);
        var sayi2 = parseInt(document.getElementById('sayi2_input').value);
    	var subtotal = 0;
    	
        var subtotal = sayi1 + sayi2;
    
    	document.getElementById('subtotal_input').innerHTML = subtotal;
    	
    
    
    }
    </script>
    
    <input type="text" id="sayi1_input" value="0" onBlur="doMath();" />
    <input type="text" id="sayi2_input" value="0"  onBlur="doMath();" />
    
    <div id="subtotal_input"></div>
    </body>
    </html>
  • 26-09-2014, 12:33:30
    #2
    if(subtotal == "NaN"){

    subtotal = ""; ya da subtotal = "Veri bekleniyor";

    }
  • 26-09-2014, 12:36:38
    #3
    @kaaxe, Aşağıdaki şeklinde de yapabilirsin.

    <html>
    <head>
    </head>
    <body>
    <script>
    function doMath() {
        var sayi1 = parseInt(document.getElementById('sayi1_input').value);
        var sayi2 = parseInt(document.getElementById('sayi2_input').value);
    	var subtotal = 0;
    	
    	if( isNaN(sayi1) ){sayi1 = 0;}
    	if( isNaN(sayi2) ){sayi2 = 0;}
    	
        var subtotal = sayi1 + sayi2;
    
    	document.getElementById('subtotal_input').innerHTML = subtotal;
    	
    
    
    }
    </script>
    
    <input type="text" id="sayi1_input" value="0" onBlur="doMath();" />
    <input type="text" id="sayi2_input" value="0"  onBlur="doMath();" />
    
    <div id="subtotal_input"></div>
    </body>
    </html>

    @aramamotoru , dönen NaN değeri string olarak kontrol edilememektedir.
    Yukarıda yazdığım fonksiyonu yardımıyla bu işlem yapılmaktadır
  • 26-09-2014, 12:39:59
    #4
    yvolkan adlı üyeden alıntı: mesajı görüntüle
    @kaaxe, Aşağıdaki şeklinde de yapabilirsin.

    <html>
    <head>
    </head>
    <body>
    <script>
    function doMath() {
        var sayi1 = parseInt(document.getElementById('sayi1_input').value);
        var sayi2 = parseInt(document.getElementById('sayi2_input').value);
    	var subtotal = 0;
    	
    	if( isNaN(sayi1) ){sayi1 = 0;}
    	if( isNaN(sayi2) ){sayi2 = 0;}
    	
        var subtotal = sayi1 + sayi2;
    
    	document.getElementById('subtotal_input').innerHTML = subtotal;
    	
    
    
    }
    </script>
    
    <input type="text" id="sayi1_input" value="0" onBlur="doMath();" />
    <input type="text" id="sayi2_input" value="0"  onBlur="doMath();" />
    
    <div id="subtotal_input"></div>
    </body>
    </html>

    @aramamotoru , dönen NaN değeri string olarak kontrol edilememektedir.
    Yukarıda yazdığım fonksiyonu yardımıyla bu işlem yapılmaktadır
    doğru. saol uyardığın için.
  • 26-09-2014, 18:59:57
    #5
    yvolkan adlı üyeden alıntı: mesajı görüntüle
    @kaaxe, Aşağıdaki şeklinde de yapabilirsin.

    <html>
    <head>
    </head>
    <body>
    <script>
    function doMath() {
        var sayi1 = parseInt(document.getElementById('sayi1_input').value);
        var sayi2 = parseInt(document.getElementById('sayi2_input').value);
    	var subtotal = 0;
    	
    	if( isNaN(sayi1) ){sayi1 = 0;}
    	if( isNaN(sayi2) ){sayi2 = 0;}
    	
        var subtotal = sayi1 + sayi2;
    
    	document.getElementById('subtotal_input').innerHTML = subtotal;
    	
    
    
    }
    </script>
    
    <input type="text" id="sayi1_input" value="0" onBlur="doMath();" />
    <input type="text" id="sayi2_input" value="0"  onBlur="doMath();" />
    
    <div id="subtotal_input"></div>
    </body>
    </html>

    @aramamotoru , dönen NaN değeri string olarak kontrol edilememektedir.
    Yukarıda yazdığım fonksiyonu yardımıyla bu işlem yapılmaktadır
    teşekkür ederim hocam sorunsuz kullanıyorum artık ))