我所做的是,有4個單選按鈕,描述數學運算(添加,減去...),然後基於哪一個檢查,我會採取用戶輸入數字並執行計算。爲此,我使用了一個if else語句,以便它通過按鈕運行,如果它被選中,它將執行數學運算。我得到的問題是一個空錯誤。使用單選按鈕與JavaScript ...越來越空錯誤
的document.getElementById(...)爲空......如果(的document.getElementById( '添加')。選中)
我得到同樣的錯誤無論哪個單選按鈕被選中。 我的另一個問題是可以一次選擇多個單選按鈕。
我怎麼能這樣編碼,只有一個按鈕可以被選中,然後取決於哪個按鈕被檢查執行該操作?爲什麼我得到空錯誤?
我的印象是,如果單選按鈕被選中,那麼document.getElementById('add')。checked將返回true,否則它會返回false,移動到下一個語句。
HTML
<form>
Enter two numbers, select a math, click the button to see result.
Enter first number: <input type='number' id='num1'>
Enter second number: <input type='number' id='num2'>
<h5>Select a math</h5>
<input type='radio' name='add'>Add<br>
<input type='radio' name='sub'>Subtract<br>
<input type='radio' name='multi'>Multiply<br>
<input type='radio' name='divis'>Division<br>
<br>
<button type='button' onclick='calculate();'>Calculate</button>
</form>
<p id='result'></p>
</div>
的JavaScript
function calculate(){
var num1 = document.getElementById('num1').value;
var num2 = document.getElementById('num2').value;
var res = document.getElementById('result').innerHTML;
if(document.getElementById('add').checked){
res = num1 + num2;
}else if(document.getElementById('sub').checked){
res = num1 - num2;
}else if(document.getElementById('multi').checked){
res = num1 * num2;
}else if(document.getElementById('divis').checked){
if(num2 == 0){
alert('Can not divide by ZERO!!');
}else{
res = num1/num2;
}
}else{
alert('please select a math');
}
}
你得到由ID的元素。不存在具有id'add'的元素。因此,空錯誤。儘管你已經給了一個名字'add'。 – bytepusher
措辭 - 將「選擇一個數學」改爲「選擇一個操作」 – James