#javascript #html #forms #frontend #addition
Вопрос:
Я новичок в JavaScript. В результате я практиковал некоторые коды, которые считывают два числа из формы и отображают результат нажатием кнопки. Я также хочу добавить кнопку сброса, чтобы начать новый расчет. Проблема в том, что поле результата не обновляется при нажатии кнопки, но кнопка сброса работает. Ниже приведен мой код:
const btn = document.getElementById('btn');
const calc = document.getElementById('calc');
function add() {
const num1 = parseInt(document.getElementById('num1').value);
const num2 = parseInt(document.getElementById('num2').value);
const result = document.getElementById('result');
if (num1 amp;amp; num2 !== NaN) {
calc.addEventListener('click', () => {
let sum = num1 num2;
result.value = sum;
return false;
});
} else {
alert("Enter Valid Number");
}
}
btn.addEventListener('click', () => {
num1.value = " ";
num2.value = " ";
result.value = " ";
});
<form id="adder" onsubmit="return add();">
<input type="text" name="num1" id='num1' placeholder="enter number">
<input type="text" name="num2" id='num2' placeholder="enter number">
<button id="calc" type="button">Add</button>
<input type="text" name="num3" id="result" readonly placeholder="Result">
<button type="button" id="btn">Clear</button>
</form>
Ответ №1:
Вам нужно создать addEventListener
calc
кнопку снаружи add();
и позвонить add();
в event
;
const btn = document.getElementById('btn');
const calc = document.getElementById('calc');
function add() {
const num1 = parseInt(document.getElementById('num1').value);
const num2 = parseInt(document.getElementById('num2').value);
const result = document.getElementById('result');
if (num1 amp;amp; num2 !== NaN) {
let sum = num1 num2;
result.value = sum;
return false;
} else {
alert("Enter Valid Number");
}
}
calc.addEventListener('click', () => {
add();
});
btn.addEventListener('click', () => {
num1.value = " ";
num2.value = " ";
result.value = " ";
});
<form id="adder" onsubmit="return add();">
<input type="text" name="num1" id='num1' placeholder="enter number">
<input type="text" name="num2" id='num2' placeholder="enter number">
<button id="calc" type="button">Add</button>
<input type="text" name="num3" id="result" readonly placeholder="Result">
<button type="button" id="btn">Clear</button>
</form>
onsubmit
не срабатывает, потому что вы не добавили кнопку отправки, во всяком случае, этот метод не работает, потому что вы добавляете eventListener
кнопку, которая будет работать после нажатия кнопки отправить.