gpt4 book ai didi

javascript - 当我点击按钮 '=' 时,没有任何反应

转载 作者:行者123 更新时间:2023-11-28 17:47:39 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 制作一个简单的计算器,但是当我单击按钮“=”时,结果没有出现。

    <!DOCTYPE html>
<html>
<body>
<h1> Kalkulator Sederhana</h1>
<input type="text" name="angkapertama" placeholder="Angka Pertama" id="angkapertama">
<input type="text" name="angkakedua" placeholder="Angka Kedua" id="angkakedua">
<button id="hasil" onclick="tambah">=</button>

<h2 id="hsl"></h2>

<script>
var a = document.getElementById('angkapertama').value;
var b = document.getElementById('angkakedua').value;
var c = document.getElementById('hasil');
c.addEventListener('click', tambah, false);

function tambah() {
return a + b;
document.getElementById("hsl").innerHTML = tambah;
}
</script>
</body>
</html>

最佳答案

这方面存在一些问题

1) 在用户有机会向文本框中输入任何内容之前,从文本框中收集输入值。您需要在事件处理程序内执行此操作。

2) 内联事件属性(无论如何,在没有 () 的情况下错误地定义了该属性)在代码中添加的事件监听器。只需要一个。 eventListener 通常被认为是更好的方法,例如提高代码的可维护性和可见性。

3) 将值视为字符串而不是数字(例如,如果代码正常工作,“4”+“4”将返回“44”!)

4) 在实际显示结果的行之前从 tambah() 函数返回。 return 从函数返回,它不仅仅是为了获取计算结果。

此版本纠正了所有这些错误。您可以运行它来测试它:

var c = document.getElementById('hasil');
c.addEventListener('click', tambah, false);

function tambah() {
var a = document.getElementById('angkapertama').value;
var b = document.getElementById('angkakedua').value;
var sum = parseFloat(a) + parseFloat(b);
document.getElementById("hsl").innerHTML = sum;
}
<h1> Kalkulator Sederhana</h1>
<input type="text" name="angkapertama" placeholder="Angka Pertama" id="angkapertama">
<input type="text" name="angkakedua" placeholder="Angka Kedua" id="angkakedua">
<button id="hasil">=</button>

<h2 id="hsl"></h2>

关于javascript - 当我点击按钮 '=' 时,没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46324684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com