我正在尝试使用文本输入的值作为数字创建一个网络计算器,并用结果替换底部的标签。虽然我面临的问题是这些函数要么没有被调用,要么没有被调用。我刚刚开始使用 Javascript,如果你们能指出问题,我将不胜感激。
<!DOCTYPE html>
<html>
<head>
<title>Calc+</title>
<link rel="stylesheet" href="calculator.css">
</head>
<body>
<header>
<div class="container"><center><p><strong>Tarun's</strong>|Calculator</p>
</center></div>
</header>
<section id="calculator">
<div class="container">
<table id="inputs"><tr>
<td><input type="text" id="firstnumber"></td>
<td><input type="text" id="secondnumber"></td>
</tr>
</table>
<table id="operators" cellpadding="0" cellspacing="7">
<tr>
<td id="plus"><button onClick="addition()">+</button></td>
<td id="minus"><button onClick="difference()">-</button></td>
</tr>
<tr><td id="multiply"><button onClick="multiplication()">*</button></td>
<td id="divide"><button onClick="division()">/</button></td></tr>
<tr>
<td colspan="2"><center><label id="result">result</label></center></td>
</tr>
</table>
</div>
</section>
</body>
</html>
function additon()
{
var a = document.getElementById('firstnumber').value;
var b = document.getElementById('secondnumber').value;
document.getElementById("result") = a + b;
}
function difference()
{
var a = document.getElementById('firstnumber').value;
var b = document.getElementById('secondnumber').value;
document.getElementById("result").innerHTML = a - b;
}
function multiplication()
{
var a = document.getElementById('firstnumber').value;
var b = document.getElementById('secondnumber').value;
document.getElementById("result").innerHTML = a * b;
}
function division()
{
var a = document.getElementById('firstnumber').value;
var b = document.getElementById('secondnumber').value;
document.getElementById("result").innerHTML = a / b;
}
您的代码有四个主要问题。
首先,整个 JavaScript 代码(以“函数添加()”开头)不在脚本标签内。目前它只是被解释为文本,这就是为什么当你加载你的一面时你应该在底部看到它的原因。要解决此问题,您必须将代码嵌入脚本标记中。最简单的方法是在 head 标签内,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Calc+</title>
<link rel="stylesheet" href="calculator.css">
<script>
function additon()
//other functions here
</script>
</head>
<body>
其次,加法函数没有设置innerHTML。只需像在其他函数中那样设置innerHTML 即可。
第三,如果您在尝试时获得了值,则该类型实际上是一个字符串。如果你做字符串+字符串,结果是一个连接。所以“1”+“1”=“11”。要改变这一点,只需在加法案例中的 a 之前添加一个 +,如下所示 document.getElementById("result").innerHTML = +a + b; (感谢 Frederik Hansen 在评论中指出了这一点。)
第四,加法函数命名不正确。你写了加法,但你的意思是加法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句