JS "If & else" 没有正确响应
JS "If & else" does not respond properly
我正在尝试制作一个网站,该网站将根据变量 "d" 显示各种句子。
计划是如果 "d" 恰好为 0,则显示第一行,并且 d 的值将显示在 class 为 "text" 的段落中。
<!doctype HTML>
<html>
<head>
<link href="main.css" rel="stylesheet" />
<meta charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
</head>
<body class="Ubuntu">
<nav>
<div>
<h1>Beregn antal diskriminanter</h1>
</div>
</nav>
<div align="center" class="main_container">
<table>
<form method="POST" name="diskriminant" action="diskriminant.html">
<tr>
<td>
<p> Indtast a </p>
</td>
<td>
<input type="number" name="numA" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td>
<p> Indtast b </p>
</td>
<td>
<input type="number" name="numB" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td>
<p> Indtast c </p>
</td>
<td>
<input type="number" name="numC" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p><input type="button" name="knap" value="Beregn" onkeydown="enter()" onclick="beregner()"class="button Ubuntu"/></p>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p id="text" class="align"></p> <br> <p id="result" class="align"></p>
</td>
</tr>
</form>
</table>
</div>
<footer>
</footer>
<script>
function beregner() {
var a;
var b;
var c;
var d;
var res;
a=document.diskriminant.numA.value;
b=document.diskriminant.numB.value;
c=document.diskriminant.numC.value;
d=Math.pow(( +b),2)-4*a*c;
if (d = 0) {
res = "Der er ingen nulpunkter";
}
else if (d < 0) {
res ="Der er et nulpunkt";
}
else {
res ="Der er to nulpunkter";
}
document.getElementById('text').innerHTML=+d;
document.getElementById('result').innerHTML=res;
}
</script>
</body>
</html>
嗯d = 0
和d == 0
不一样。这是你的问题,你在这里给变量赋值。
变量赋值总是 returns true.
使用 JavaScript 中的 ==
运算符计算比较。只需更改您的 if-statement
:
if (d == 0) {
res = "Der er ingen nulpunkter";
}
d = 0
正在分配一个变量。尝试 if (d === 0)
为了安全起见,请始终使用“===”运算符,因为它会同时检查类型和值。这样你就会真正知道两个东西是否相等。
我正在尝试制作一个网站,该网站将根据变量 "d" 显示各种句子。 计划是如果 "d" 恰好为 0,则显示第一行,并且 d 的值将显示在 class 为 "text" 的段落中。
<!doctype HTML>
<html>
<head>
<link href="main.css" rel="stylesheet" />
<meta charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
</head>
<body class="Ubuntu">
<nav>
<div>
<h1>Beregn antal diskriminanter</h1>
</div>
</nav>
<div align="center" class="main_container">
<table>
<form method="POST" name="diskriminant" action="diskriminant.html">
<tr>
<td>
<p> Indtast a </p>
</td>
<td>
<input type="number" name="numA" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td>
<p> Indtast b </p>
</td>
<td>
<input type="number" name="numB" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td>
<p> Indtast c </p>
</td>
<td>
<input type="number" name="numC" size="6" class="input-form"/></p>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p><input type="button" name="knap" value="Beregn" onkeydown="enter()" onclick="beregner()"class="button Ubuntu"/></p>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p id="text" class="align"></p> <br> <p id="result" class="align"></p>
</td>
</tr>
</form>
</table>
</div>
<footer>
</footer>
<script>
function beregner() {
var a;
var b;
var c;
var d;
var res;
a=document.diskriminant.numA.value;
b=document.diskriminant.numB.value;
c=document.diskriminant.numC.value;
d=Math.pow(( +b),2)-4*a*c;
if (d = 0) {
res = "Der er ingen nulpunkter";
}
else if (d < 0) {
res ="Der er et nulpunkt";
}
else {
res ="Der er to nulpunkter";
}
document.getElementById('text').innerHTML=+d;
document.getElementById('result').innerHTML=res;
}
</script>
</body>
</html>
嗯d = 0
和d == 0
不一样。这是你的问题,你在这里给变量赋值。
变量赋值总是 returns true.
使用 JavaScript 中的 ==
运算符计算比较。只需更改您的 if-statement
:
if (d == 0) {
res = "Der er ingen nulpunkter";
}
d = 0
正在分配一个变量。尝试 if (d === 0)
为了安全起见,请始终使用“===”运算符,因为它会同时检查类型和值。这样你就会真正知道两个东西是否相等。