我正在用Javascript寫一個基本的計算器,當我在html表單上打「=」時,它將返回整個calculator.js,而不是結果。我不知道爲什麼會發生這種情況,我希望它能「警告」答案變量。我怎樣才能讓它正確顯示?在表單提交時顯示在瀏覽器中的Javascript代碼,而不是腳本的結果
calculator.html
<!DOCTYPE html>
<html>
<head><title>Calculator</title></head>
<link rel="stylesheet" type="text/css" href="calc.css"/>
<body>
<form>
<p>
<label for="x">First Number</label>
<input type="text" name="x" id="x" />
</p>
<p>
<label for="y">Second Number:</label>
<input type="text" name="y" id="y" />
</p>
<p>
<input type=radio name="Operation" value=Add id="0" /> <label for="0">Add</label>
<input type=radio name="Operation" value=Sub id="1" /> <label for="1">Sub</label>
<input type=radio name="Operation" value=Mult id="2" /> <label for="2">Mult</label>
<input type=radio name="Operation" value=Div id="3" /> <label for="3">Div</label>
</p>
<p>
<input type="submit" value="=" />
<input type="reset" />
</p>
</form>
<script type="text/javascript" src="calculator.js"></script>
</body>
</html>
calculator.js
var x = document.getElementById("x").value;
var y = document.getElementById("y").value;
document.getElementById("x").addEventListener("change", Calculator, false);
document.getElementById("y").addEventListener("change", Calculator, false);
var answer = 0;
document.getElementById(0).addEventListener("click", Calculator, false);
document.getElementById(1).addEventListener("click", Calculator, false);
document.getElementById(2).addEventListener("click", Calculator, false);
document.getElementById(3).addEventListener("click", Calculator, false);
function add(){
answer = x+y;
}
function sub(){
answer = x-y;
}
function mult(){
answer = x*y;
}
function div(){
if(y=0){
alert "Cannot divide by zero"
}
else {answer = x/y}
}
function Calculator(){
if sign == 0{
add();
}
else if sign == 1{
sub();
}
else if sign == 2{
mult();
}
else if sign == 3{
div();
}
alert (answer);
}