2012-10-14 94 views
0

我有一個用作計算器一部分的函數。我用JSMin把它縮小了。我重寫了代碼,以便調試代碼,但現在我重寫了代碼,發現了一個新的錯誤(新錯誤是NaN問題)。輸出應該是一個數字,而不是NaN。代碼如下所示。JavaScript需要NaN錯誤幫助

function calculate() { 

    console.log(1); 
    var activity = $("#txtActivity").val(); 

    var days = parseInt($("#txtDays").val(), 10); 
    var hours = parseInt($("#txtHours").val(), 10); 
    var minutes = parseInt($("txtMinutes").val(), 10); 
    var seconds = parseInt($("txtSeconds").val(), 10); 

    var MoneyMadeDuringActivity = (days * 21464) + (hours * 2683) + (minutes * 4472) + (seconds * 0.74); 



    $("#CalcOutput").html("In the time it takes me to " + activity + ",<br />Barack Obama makes $" + MoneyMadeDuringActivity); 

} 

    $("#btnCalculate").click(function() { 
    calculate(); 
    }); 
我無法搞清楚如何擺脫這種錯誤的,因爲「活動」

是唯一的字符串變量,以及所有其他變量是數字或有parseInt'ed。

這是我得到的輸出:

在它需要我在這裏輸入的東西的時候,奧巴馬使得$ NaN的

回答

4

你錯過下面的行#

var minutes = parseInt($("txtMinutes").val(), 10); 
var seconds = parseInt($("txtSeconds").val(), 10); 

因爲沒有被選擇發現,這是有效的:

var minutes = parseInt(undefined, 10); // NaN 
var seconds = parseInt(undefined, 10); // NaN 
+0

只是一個brainfart,謝謝。 – JaPerk14