我正在嘗試製作自己的簡單javascript計算器,但似乎採用了與我找到的任何教程不同的方法,並且無法在代碼中找到錯誤。Javascript計算器未在輸入中評估
<!DOCTYPE html>
<head>
<meta charset = 'utf-8'>
</head>
<html>
<body>
<input name='x' onchange='this.value=eval(this.value)'>
<br>
<button>1</button>
<button>2</button>
<button>3</button>
<br>
<button>4</button>
<button>5</button>
<button>6</button>
<br>
<button>7</button>
<button>8</button>
<button>9</button>
<br>
<button>0</button>
<button>.</button>
<button>+</button>
<br>
<button>*</button>
<button>/</button>
<button id='enter'>=</button>
<script>
function el(x){return document.querySelector(x);}
function els(x){return document.querySelectorAll(x);}
var x=el("input");
function g(){x.value+=this.innerHTML;}
var t = els("button");
for(i=0;i<t.length;i++){
t[i].onclick=g;
}
我認爲這個問題是那些臺詞,但我不知道如何糾正它
el('#enter').onclick=x;
el("input").innerHTML=eval(t);
</script>
</body>
</html>
好的,你採取了不同的方法。問題是什麼?它工作不正常嗎?如果是這樣,*如何*它不能正常工作?你看到什麼結果,你不期望? –
爲什麼要將'onclick'設置爲'input'元素?當't'是元素的集合時,爲什麼要將'innerHTML'設置爲'eval(t)'? –
從有意義的方法開始。顯示的邏輯肯定沒有,我們不在這裏爲你寫這整個事情 – charlietfl