我做了一个html文档,计算在我的html文档的高度,宽度和长度的输入框中输入的任何东西的表面积和体积。我不想使用按钮来运行函数,而是在指定为表面区域和体积的输入框中显示答案,我希望使用onload并在每个输入框被更改时都使用这两个函数。我对Javascript很陌生,下面我试过的方法只是将屏幕留空,究竟是什么导致答案不能显示在文本框中?我该如何解决这个问题?onChange不能在我的onLoad函数中显示正确的答案
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Surface Area & Volume</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<script>
"use strict";
var $ = function(id) {
return document.getElementById(id);
};
var amountVolume = 0;
var length = $("length");
var width = $("widthData");
var height = $("heightData");
var surfaceArea;
var surfaceAreaArray = [];
function output() {
function calculateVolume(length, width, height) {
amountVolume = parseFloat(length) * parseFloat(width) * parseFloat(height);
var volumeRound = amountVolume.toFixed(2);
$('volume').value = volumeRound;
}
function calculateSurfaceArea(length, width, height) {
surfaceAreaArray[0] = parseFloat(length) * parseFloat(width) * 2;
surfaceAreaArray[1] = parseFloat(length) * parseFloat(height) * 2;
surfaceAreaArray[2] = parseFloat(height) * parseFloat(width) * 2;
surfaceArea = surfaceAreaArray[0] + surfaceAreaArray[1] + surfaceAreaArray[2];
var areaRound = surfaceArea.toFixed(1);
$('area').value = areaRound;
}
}
window.onload = function() {
$("length").onchange = output;
$("widthData").onchange = output;
$("heightData").onchange = output;
}
</script>
<div id="wrapper">
<form>
<h1>Surface Area & Volume</h1>
<p>Length:
<input type="text" id="length" value="0"/>
</p>
<br />
<p>Width:
<input type="text" id="widthData" value="0"/>
</p>
<br />
<p>Height:
<input type="text" id="heightData" value="0"/>
</p>
<br />
<p class="change">Surface Area:
<input type="text" id="area" disabled="disabled" />
</p>
<br />
<p class="volume">Volume:
<input type="text" id="volume" disabled="disabled" />
</p>
<br />
</form>
</div>
</body>
</html>