Итак, для проекта класса я должен сделать этот простой калькулятор, что было очень легко сделать. Тем не менее, я должен определить своих прослушивателей событий в JavaScript, а не использовать что-то вроде: onclick = "compute()"Как определить текстовые поля и прослушиватели радиокнопки в JavaScript
Но мне нужно, чтобы мой калькулятор обновлялся всякий раз, когда я меняю значение в своем поле или выберите любой из переключателей. Как я могу это сделать? Код, который у меня сейчас, не работает.
<script>
function compute(){
var functionSelected = document.getElementsByName("function");
var valueOne = Number(document.getElementById("fielda").value);
var valueTwo = Number(document.getElementById("fieldb").value);
var ans = 0;
if(functionSelected[0].checked){
ans = (valueOne+valueTwo);
}
if(functionSelected[1].checked){
ans = (valueOne-valueTwo);
}
if(functionSelected[2].checked){
ans = (valueOne*valueTwo);
}
if(functionSelected[3].checked){
ans = (valueOne/valueTwo);
}
if(ans>=9007199254740992){
document.getElementById("solution").textContent = "ERROR NUMBER TO LARGE TO BE COMPUTED";
}
else{
document.getElementById("solution").textContent = "Equals: " + ans;
}
}
document.getElementById("fielda").addEventListener("change", compute(), false);
document.getElementById("fieldb").addEventListener("change", compute(), false);
document.getElementByName("function").onclick = compute();
</script>
</head>
<body>
<p>
<input type="number" id="fielda"/><br />
<input type="number" id="fieldb"/><br />
<label><input name="function" type="radio" value="add"/> Add</label><br />
<label><input name="function" type="radio" value="subtract"/> Subtract</label><br />
<label><input name="function" type="radio" value="multiply"/> Multiply</label><br />
<label><input name="function" type="radio" value="divide"/> Divide</label><br />
</p>
<p>
<output id="solution">Solution Will Appear Here</output>
</p>
</body>
'.addEventListener ("изменения", вычислить, ложный) '. Функциональный вызов вызова функции VS. – elclanrs
Связанные: [http://stackoverflow.com/questions/574941/best-way-to-track-onchange-as-you-type-in-input-type-text](http://stackoverflow.com/questions/574941/best-way-to-track-onchange-as-you-type-in-input-type-text) –
Не могли бы вы быть более конкретными. Если я просто изменил это, он все равно не сработает. – user2898916