[英]Button onclick event doesn't fire in javascript
我不知道這段代碼有什么問題。
有兩個用於兩個變量相加,相減,相乘和除法的輸入字段和四個按鈕(每個按鈕分別用於相加,相減,相乘和除法),但是當我單擊它們時,什么也沒有發生。
<h1>Calculator</h1>
<input id="f1" />
<input id="f2" />
<button id="add">Add</button>
<button id="sub">Sub</button>
<button id="multi">Multi</button>
<button id="div">Div</button>
var f1, f2, result;
document.getElementById("add").onclick=function{
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = return f1+f2;
}
document.getElementById("sub").onclick=function{
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = return f1-f2;
}
document.getElementById("multi").onclick=function{
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = return f1*f2;
}
document.getElementById("div").onclick=function{
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = return f1/f2;
}
if(result!=null)
alert("Result = "+result);
您有一些錯誤和語法錯誤:
function
需要()
:
onclick = function () {}
在這種情況下,無需使用return
,只需將結果存儲到變量中即可:
result = f1+f2;
您應該將文本框值轉換為數字:
f1 = document.getElementById("f1").value * 1;
您應該在每個onclick
顯示結果,而不是在腳本末尾顯示結果。
var f1, f2, result; document.getElementById("add").onclick=function(){ f1= document.getElementById("f1").value * 1; f2= document.getElementById("f2").value * 1; result = f1+f2; alert("Result = "+result); } document.getElementById("sub").onclick=function(){ f1= document.getElementById("f1").value * 1; f2= document.getElementById("f2").value * 1; result = f1-f2; alert("Result = "+result); } document.getElementById("multi").onclick=function(){ f1= document.getElementById("f1").value * 1; f2= document.getElementById("f2").value * 1; result = f1*f2; alert("Result = "+result); } document.getElementById("div").onclick=function(){ f1= document.getElementById("f1").value * 1; f2= document.getElementById("f2").value * 1; result = f1/f2; alert("Result = "+result); }
<h1>Calculator</h1> <input id="f1" /> <input id="f2" /> <button id="add">Add</button> <button id="sub">Sub</button> <button id="multi">Multi</button> <button id="div">Div</button>
請在下面找到工作代碼
var f1, f2, result;
document.getElementById("add").onclick=function(){
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = f1+f2;
if(result!=null)
alert("Result = "+result);
}
將值分配給變量的Inorde無需使用return關鍵字。 同樣,當您分別在每個按鈕中附加每個按鈕的click事件時,您需要代碼來顯示結果。 希望您能找到並糾正上述其他功能。
您的代碼中有一些錯誤:
1-您正在返回價值,但永遠不會使用它。
2-您的函數定義需要()
3-yo應該將輸入值轉換為int
那么這對你有用
var f1, f2, result;
document.getElementById("add").onclick=function(){
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = parseInt(f1)+parseInt(f2);
if(result!=null)
alert("Result = "+result);
}
document.getElementById("sub").onclick=function(){
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = parseInt(f1)-parseInt(f2);
if(result!=null)
alert("Result = "+result);
}
document.getElementById("multi").onclick=function(){
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = parseInt(f1)*parseInt(f2);
if(result!=null)
alert("Result = "+result);
}
document.getElementById("div").onclick=function(){
f1= document.getElementById("f1").value;
f2= document.getElementById("f2").value;
result = parseInt(f1)/parseInt(f2);
if(result!=null)
alert("Result = "+result);
}
<!doctype html>
<html>
<head>
<title>Javascript</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<h1>Calculator</h1>
<input id="f1" />
<input id="f2" />
<button id="add">Add</button>
<button id="sub">Sub</button>
<button id="multi">Multi</button>
<button id="div">Div</button>
<script type="text/javascript">
var f1, f2, result;
document.getElementById("add").onclick = function () {
f1 = parseFloat(document.getElementById("f1").value);
f2 = parseFloat(document.getElementById("f2").value);
result = f1 + f2;
showResult();
}
document.getElementById("sub").onclick = function () {
f1 = parseFloat(document.getElementById("f1").value);
f2 = parseFloat(document.getElementById("f2").value);
result = f1 - f2;
showResult();
}
document.getElementById("multi").onclick = function () {
f1 = parseFloat(document.getElementById("f1").value);
f2 = parseFloat(document.getElementById("f2").value);
result = f1 * f2;
showResult();
}
document.getElementById("div").onclick = function () {
f1 = parseFloat(document.getElementById("f1").value);
f2 = parseFloat(document.getElementById("f2").value);
result = f1 / f2;
showResult();
}
function showResult() {
alert("Result = " + result);
}
</script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.