【发布时间】:2020-10-22 13:59:36
【问题描述】:
我正在尝试用单选按钮制作一个计算器,但由于某种原因,我的代码只读取第一个参数(如果)而忽略了其余部分。即使我可能检查了乘法单选按钮,这也会导致代码执行加法。下面是代码:-
//HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form>
<input type="number" name="num1" id="num1">
<input type="number" name="num2" id="num2"><br>
<input type="radio" name="add" id="add">Addition(+)
<input type="radio" name="sub" id="sub">Subtraction(-)
<input type="radio" name="mul" id="mul">Multiplication(x)
<input type="radio" name="divi" id="divi">Division(/)
<input type="radio" name="mod" id="mod">Modulus(%)<br>
<button type="submit">submit</button>
<input type="number" name="num3" id="num3">
</form>
<script src="calculator.js"></script>
</body>
</html>
//JAVASCRIPT
const form = document.querySelector('form');
form.addEventListener('submit', e =>{
e.preventDefault();
const num1 = parseInt(document.querySelector('#num1').value);
const num2 = parseInt(document.querySelector('#num2').value);
if(document.getElementById('add').checked = true){
let c = num1+num2;
form.num3.value =c;
}
else if(document.getElementById('sub').checked = true){
let d = num1-num2;
form.num3.value =d;
}
else if(document.getElementById('mul').checked = true){
let e = num1*num2;
form.num3.value =e;
}
else if(document.getElementById('divi').checked = true){
let f = num1/num2;
form.num3.value =f;
}
else if(document.getElementById('mod').checked = true){
let h = num1%num2;
form.num3.value =h;
}
});
【问题讨论】:
标签: javascript html forms radio-button