-1
開發人員工具/故障排除告訴我,計算器未在HTMLButtonElement.onclick處定義。除了我沒有得到答案,一切都有效。有人看到我做錯了嗎?我遵循一個例子,一個例子的作品。但不是我的代碼。我得到四個按鈕和兩個文本框,但是當我點擊按鈕時,沒有答案,文本框中有數字。未捕獲的ReferenceError:計算器未在HTMLButtonElement.onclick處定義
<!DOCTYPE html>
<html>
<head>
<title>oppg.3</title>
</head>
<body>
<input id="v1" type="text" style="width:5em;"/>
<button onclick="calculator.sum();"> + </button>
<button onclick="calculator.multiply();"> * </button>
<button onclick="calculator.div();">/</button>
<button onclick="calculator.mod();"> % </button>
<input id="v2" type="text" style="width:5em;"/>
<span id="result"> </span>
<script type="text/javascript">
var Calculator = function(inp1,inp2,reslt) {
this.valinp1 = inp1;
this.valinp2 = inp2;
this.result = reslt;
if (!Calculator.prototype.sum) {
Calculator.prototype.sum = function() {
var value1 = Number(this.valinp1.value),
value2 = Number(this.valinp2.value);
this.result.innerHTML =
(!/[0-9]/.test(String(value1)) || !/[0-9]/.test(String(value1)))
: (value1 + value2);
};
Calculator.prototype.multiply = function() {
var value1 = Number(this.valinp1.value);
var value2 = Number(this.valinp2.value);
this.result.innerHTML =
(!/[0-9]/.test(string(value1)) || !/[0-9]/.test(string(value1)))
:(value1*value2);
};
Calculator.prototype.div = function() {
var value = Number(this.valinp1.value);
var value2 = Number(this.valinp2.value);
var restmp = value1/value2;
this.result.innerHTML =
(!/[0-9]/.test(String(value1)) || !/[0-9]/.test(String(value1)) || value2 === 0)
: restmp%1 ? restmp.toFixed(3) : restmp;
};
Calculator.prototype.mod = function() {
var value1 = Number(this.valinp1.value);
var value2 = Number(this.valinp2.value);
var restmp = value1%value2;
this.result.innerHTML =
(!/[0-9]/.test(String(value1)) || !/[0-9]/.test(String(value1)) || value2 === 0)
: value1%value2;
};
}
};
calculator =
new Calculator (
document.getElementById('v1'),
document.getElementById('v2'),
document.getElementById('result')
);
</script>
</body>
</html>
給我們整個代碼,計算器包括在內。 – paqash
因爲沒有叫做計算器的對象 - 猜你必須編寫它 –
現在已經發布了整個代碼@paqash。 – Zappoh