2014-02-10 52 views
0

我做了一个应用程序在轨道上使用JavaScript做了一笔。如何在javascript onchange中显示值?

但我有一个问题,当我的值为零或空将无法正常工作并显示“NaN”。

可能是一种方法来解决这个问题,或者可能显示“0”的“NaN”insteaf?

这里是我的控制器

def 
    @soles = Client.sum(:money) 
end 

问题是,当@soles是零,我需要一种方式来显示0

<input type="text" id="my_input1" value="<%= @soles %>" /> 
<input type="text" id="my_input2" onchange="doMath();" /> 
<input type="text" id="sum" /> 

<script type="text/javascript"> 
function doMath() 
{ 
    // Capture the entered values of two input boxes 
    var my_input1 = document.getElementById('my_input1').value; 
    var my_input2 = document.getElementById('my_input2').value; 

    // Add them together and display 
    var sum = parseInt(my_input1) + parseInt(my_input2); 
    document.getElementById('sum').value = sum; 
} 

我试过,但不起作用

@soles = 0 

我会非常感谢你的帮助。

感谢

回答

4

使用isNaN javascript函数如下:

if (isNaN(sum)) 
    sum = 0; 
document.getElementById('sum').value = sum; 
+0

我想你的代码,但现在正显示出0时,它的价值 –

+0

@ CarlitosMorales看[这里](http://jsfiddle.net/nu7z5/) –

+0

好的,谢谢,这是伟大的,但你可以帮助我显示0时,没有值my_input1? http://jsfiddle.net/nu7z5/2/ –

0

,你可以尝试这样的事情

if(!document.getElementById("yourElementIDName")){ 

    alert("DOES NOT EXIST"); 

} 

else { 

    alert("Object Exists - You can script to this object"); 

}