我不是一個程序員的交易,所以請不要對我舉行我的簡單問題。我相信答案很簡單,但我無法弄清楚。將字符串轉換成計算器中的數字
我想設計一個覆蓋計算器放在我公司的網站上。我的代碼似乎接受輸入,但返回一個NaN值。顯然,如我所料,將信息轉換爲字符串。我試圖通過從我的最後一個變量中減去0並使用parseInt將它轉換回數字。似乎都沒有工作。有人願意解釋如何解決這個問題,以及爲什麼你的解決方案工作。我想了解我做錯了什麼。
請參閱下面的代碼。
謝謝。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Mulch Calculator</h1>
<form name="calcInput" id="calcInfoInput">
The length of the area you need to cover (in feet). <input type="text" name="length"
<br></br>
<br></br>
The width of the area you need to cover (in feet). <input type="text" `enter code here`name="width"
<br></br>
<br></br>
The depth of coverage you need (in inches). <input type="text" name="depth"
<br></br>
<br></br>
</form>
<input type="submit" value="Calculate Your Mulch Needs." onclick="processForm()" name="submit">
<input type="reset" value="Clear This Form.">
</form>
<script type ="text/javascript">
function processForm()
{
var allInfo = document.getElementById ("calcInfoInput");
var bedLength = allInfo.elements["length"].value;
var bedWidth = allInfo.elements["width"].value;
var bedDepthInches = allInfo.elements["depth"].value;
var squareFeet = bedLength * bedWidth;
var bedDepth = bedDepthInches/12;
var cubicFeet = squareFeet * bedDepth;
var cubicYards = cubicFeet/27;
//cubicYards = cubicYards-0;
//cubicYards = parseInt(cubicYards, 10);
document.write('You will need at least '+ cubicYards +' cubic yards for your project.');
}
</script>
</body>
需要符合規範'0'爲 「空」 的輸入值。另外,類型=數字可以提供更好的用戶體驗。 – dandavis
您可以將輸入值強制爲整數,方法是在它們前加'+':'+ allInfo.elements [「length」] .value'或使用'parseInt(allInfo.elements [「length」] .value,10) ;'。 – Andy
謝謝dandavis和Andy。我感謝您的幫助。 –