Две вещи:
- во-первых, найдите общий код для запуска, как при нажатии кнопки, так и при нажатии клавиши Enter, затем поместите его в одну функцию,
- во-вторых, будьте осторожны, ваш ввод всегда будетчтобы быть строкой, вам нужно parseInt
, чтобы получить сумму
Вот рабочий пример:
<div id="myForm">
<input type="text" id="bedrag" />
<button type="button" onclick="check_field('bedrag');" value=''>Enter</button>
<p>Uw totaal:</p>
<p id="resultaat"></p>
</div>
<script>
var totaal = 0;
var bedrag = document.getElementById("bedrag");
bedrag.onkeydown = bereken
function submit() {
var ingevoerdeBedrag = document.getElementById("bedrag").value;
if (isNaN(parseInt(ingevoerdeBedrag))) {
alert('not a number');
} else {
totaal = totaal + parseInt(ingevoerdeBedrag);
document.getElementById("resultaat").innerHTML = 'Het bedrag is ' + totaal;
}
}
function bereken(e) {
if (e.keyCode == 13) {
submit();
}
}
function check_field(id) {
submit();
// Here we're clearing the input only after clicking the button
document.getElementById(id).value = "";
}
</script>