2011-01-27 52 views
3

如何在Javascript中添加一個簡單的整數到另一個整數?Javascript增加整數

我得到NaN作爲總值。

<script type="text/javascript"> 
var total = 0; 
document.getElementById("dds1").onkeyup = function() { 
    total = total + parseInt(this.value,10); 
    updateIt(); 

}; 

function updateIt() { 
//tofixed(2) 
    document.getElementById("mySpan").innerHTML = total; 
} 

但是,如果我執行以下操作:

total = parseInt(this.value,10); 

然後總有一個值(整數值)。

+3

你應該使用jQuery ....沒有,只是在開玩笑`:D' – 2011-01-27 19:25:09

+1

我懷疑還有更多的代碼參與其中。您發佈的內容似乎沒有任何問題。還有什麼改變「總計」? – Pointy 2011-01-27 19:27:02

回答

5

問題是,執行加法讀取每個鍵盤上的輸入值。例如,如果用戶按BACKSPACE清除輸入,則該值將是一個空字符串,這將導致parseInt之後的NaN。一旦你有NaN(在你的total變量中),你就無法擺脫它了。

試試這個:

document.getElementById('dds1').onkeyup = function() { 

    var value = parseInt(this.value, 10); 

    if (!isNaN(value)) { 
     total += value; 
     updateIt();  
    } 

}; 

在這裏,你先檢查輸入值可以解析爲一個數字。如果不是,你只是無視它。


做這將是另外一個辦法:

document.getElementById('dds1').onkeyup = function() { 
    var value = parseInt(this.value, 10); 

    isNaN(value) && return; 

    total += value; 
    updateIt(); 
}; 

在這裏,如果你讀的是不能轉換成數字的輸入值,你可以返回功能完全。

1

這裏是JavaScript來添加整數。 好東西就是即使是空白也不會拋出任何錯誤。

的Javascript

<script language="javascript" type="text/javascript"> 
 

 
    function Add() { 
 
    var a, b, c, d; 
 
    a = parseInt(document.getElementById("txtFirstValue").value); 
 

 
    // 
 
    // If textbox value is null i.e empty, then the below mentioned if condition will 
 
    // come into picture and make the value to '0' to avoid errors. 
 
    // 
 

 
    if (isNaN(a) == true) { a = 0; } 
 
    var b = parseInt(document.getElementById("txtSecondValue").value); 
 

 
    if (isNaN(b) == true) { b = 0; } 
 
    var c = parseInt(document.getElementById("txtThirdValue").value); 
 

 
    if (isNaN(c) == true) { c = 0; } 
 
    var d = parseInt(document.getElementById("txtFourthValue").value); 
 

 
    if (isNaN(d) == true) { d = 0; } 
 
    document.getElementById("txtTotal").value = a + b + c + d; 
 
} 
 
</script> 
 

 
<!-- begin snippet: js hide: false --> 
 

 
HTML
First Value: <asp:TextBox ID="txtFirstValue" runat="server" 
 
         onKeyUp="javascript:Add();"></asp:TextBox> 
 

 
Second Value:<asp:TextBox ID="txtSecondValue" runat="server" 
 
         onKeyUp="javascript:Add();"></asp:TextBox> 
 

 
Third Value:<asp:TextBox ID="txtThirdValue" rrunat="server" 
 
         onKeyUp="javascript:Add();"><asp:TextBox> 
 

 
Fourth Value:<asp:TextBox ID="txtFourthValue" runat="server" 
 
         onKeyUp="javascript:Add();"></asp:TextBox> 
 

 
Total = <asp:TextBox ID="txtTotal" runat="server" MaxLength="20" BackColor="#FFE0C0" 
 
         Enabled="False" Font- Font-Bold="True" Font-Size="X-Large"> 
 
      </asp:TextBox>

從推介:http://www.ittutorials.in/source/javascript/scf4/addition-of-multiple-integers-using-javascript.aspx