我需要为在线计算器创建示例HTML文档,我使用下面的代码来满足要求:
<html>
<head>
<title>Rechner</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div id="container">
<center>
<form>
<input type="number" placeholder="Zahl 1" name="num1" id="num1" class="num" autofocus required><br>
<input type="number" placeholder="Zahl 2" name="num2" id="num2" class="num" required><br>
<output placeholder="Ergebnis" class="text" id="Ergebnis"><br>
<button class="btn" onclick="berechnen()">Rechne!</button>
</form>
</center>
</div>
<script>
function berechnen() {
var zahl1 = document.getElementsById("num1").value;
var zahl2 = document.getElementsById("num2").value;
var ergebnis = Number(zahl1) + Number(zahl2);
document.getElementById("Ergebnis").value = ergebnis;
}
</script>
</body>
</html>
但是,每当我尝试计算任何数字时,它都会显示nothing
或NaN
任何人都可以帮助我,我在这里做错了吗?
请不要被德国人的名字搞糊涂。
答案 0 :(得分:2)
您正在调用不存在的方法getElementsById
。你应该拨打getElementById
。我在输出前放置了按钮,因此在计算后它不会消失。
<html>
<head>
<title>Rechner</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div id="container">
<center>
<form>
<input type="number" placeholder="Zahl 1" name="num1" id="num1" class="num" autofocus required><br>
<input type="number" placeholder="Zahl 2" name="num2" id="num2" class="num" required><br>
<button class="btn" onclick="berechnen()">Rechne!</button><br>
<output placeholder="Ergebnis" class="text" id="Ergebnis">
</form>
</center>
</div>
<script>
function berechnen() {
var zahl1 = document.getElementById("num1").value;
var zahl2 = document.getElementById("num2").value;
var ergebnis = Number(zahl1) + Number(zahl2);
document.getElementById("Ergebnis").value = ergebnis;
}
</script>
</body>
</html>
答案 1 :(得分:2)
有两个问题:
button
。这将阻止页面在您单击时重新加载getElementById
代替getElementsById
因此,你应该有类似的东西:
<form>
...
<button type="button" class="btn" onclick="berechnen()">Rechne!</button>
</form>
<script>
function berechnen() {
var zahl1 = document.getElementById("num1").value;
var zahl2 = document.getElementById("num2").value;
var ergebnis = Number(zahl1) + Number(zahl2);
document.getElementById("Ergebnis").value = ergebnis;
}
</script>
答案 2 :(得分:1)
应该是document.getElementById("num1").value;
而不是document.getElementsById("num1").value;