I was trying to create a simple demo calculator and I got the output as NaN. I think it is something with the JS calling the input values. Please refer to the below code.
var num1 = document.getElementsByName(firstNoInput).value;
var num2 = document.getElementsByName(secondNoInput).value;
var ans;
function addition() {
ans = num1 + num2;
document.getElementById("screen").innerHTML = ans;
}
function subtraction() {
ans = num1 - num2;
document.getElementById("screen").innerHTML = ans;
}
function multiplication() {
ans = num1 * num2;
document.getElementById("screen").innerHTML = ans;
}
function division() {
ans = num1 / num2;
document.getElementById("screen").innerHTML = ans;
}
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
</head>
<body>
<div>
<header id="screen"></header>
<table>
<tbody>
<tr>
<td>First Number:</td>
<td name="firstNoInput"><input type="text" /></td>
</tr>
<tr>
<td>Second Number:</td>
<td name="secondNoInput"><input type="text" /></td>
</tr>
<tr>
<td><button type="submit" onclick="addition()">+</button></td>
<td><button type="submit" onclick="subtraction()">-</button></td>
</tr>
<tr>
<td><button type="submit" onclick="multiplication()">*</button></td>
<td><button type="submit" onclick="division()">/</button></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
I even used the following code (convert values into strings), but it didn't work.
var num1 = parseInt(document.getElementsByName(firstNoInput).value);
var num2 = parseInt(document.getElementsByName(secondNoInput).value);
Can anyone help?