一个简单的计算器(仅添加)oop javascript

时间:2018-12-18 11:54:20

标签: javascript

伙计们,我在使用基本计算器js对象时遇到问题,只能添加数字input1 + input2 = input3。我不知道如何在输入3(结果)中显示输入1和2的结果。从现在开始,我只是使用show('1')从输入中获取价值。这是我的代码

JS

function calculator(){
    this.result = document.getElementById('3');
    this.show = function(id){
        var a =document.getElementById(id).value
        console.log(a);
    }
}

HTML

<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>

<body>
<label for="1">
<input type="text" id = '1'>
</label>
<br><br>
<label for="2">
<input type="text" id = '2'>
</label>
<br><br>  
<label for="3">
<input type="text" id = 3>
</label>
<button onclick="click()">+</button>
  <script src="jss.js"></script>

</body>

</html>

4 个答案:

答案 0 :(得分:2)

您的代码中有几个问题。您的代码中没有定义click(),应该为calculator()。在计算之前,您必须隐蔽该值。否则,字符串连接将发生,因为输入值的默认类型是字符串。您可以使用parseFloat()来做到这一点。

尝试以下方式:

function calculator(){
    document.getElementById('3').value = parseFloat(document.getElementById('1').value) + parseFloat(document.getElementById('2').value)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label for="1">
<input type="text" id = '1'>
</label>
<br><br>
<label for="2">
<input type="text" id = '2'>
</label>
<br><br>  
<label for="3">
<input type="text" id = '3'>
</label>
<button onclick="calculator()">+</button>

答案 1 :(得分:1)

调用您的函数Calculator()而不是click(),这实际上不是您设置的函数。

<button onclick="calculator()">+</button>

答案 2 :(得分:1)

您可以这样做

您需要同时获取两个输入字段。从它们中提取值将它们更改为数字,然后再将其添加到第三个输入中。

public int Add(object a, object b)
{
    return ((int)a) + ((int)b);
}
function calculator(){
    let result = document.getElementById('3');
    let input1 = document.getElementById('1').value;
    let input2 = document.getElementById('2').value;
    let final = Number(input1) + Number(input2);
    result.value = final;
}

答案 3 :(得分:1)

function calculator() {
  var item1 = parseFloat(document.getElementById('item1').value);
  var item2 = parseFloat(document.getElementById('item2').value);
  document.getElementById('item3').value = item1 + item2;
}
<input type="number" id="item1" value="0" oninput="calculator()">
<br><br>
<input type="number" id="item2" value="0" oninput="calculator()">
<br><br>
<input type="text" id="item3" disabled>
<button onclick="calculator()">+</button>