javascript - 为什么无论单击哪个按钮都会得到相同的结果?

标签 javascript html

我正在尝试制作一个基本程序,它获取两个 HTML 输入字段的值,并根据单击的按钮将它们相乘或相除。目前,我只是尝试通过 document.getElementById() 提醒乘法或除法按钮的值。

但是,目前它认为我已经单击了“乘法”按钮,即使我单击“除法”也是如此。

这是 HTML:

<form>
    <input type="text" placeholder="enter a number" id="numOne"/>
    <input type="text" placeholder="enter a number" id="numTwo"/>
    <br>
    <button id="M" onclick="calc()" value="Multiply">Multiply</button>   
    <button id="D" onclick="calc()" value="Divide">Divide</button>
</form>

和 JavaScript:

function calc() {
    if (document.getElementById('M').value === 'Multiply') {
        alert('You clicked multiply');
    } else if (document.getElementById('D').value === 'Divide') {
        alert('You clicked divide');
    }
}

我自己也尝试过查找,但一无所获。

最佳答案

您可以为每个按钮添加不同的功能

document.getElementById('M').addEventListener('click', function(e) {
  e.preventDefault();
  
  var val1 = document.getElementById('numOne').value;
  var val2 = document.getElementById('numTwo').value;
  var answ = document.getElementById('answer');
  
  answ.value = val1 * val2;
});

document.getElementById('D').addEventListener('click', function(e) {
  e.preventDefault();
  
  var val1 = document.getElementById('numOne').value;
  var val2 = document.getElementById('numTwo').value;
  var answ = document.getElementById('answer');
  
  answ.value = val1 / val2;
});
<form>
  <input placeholder="enter a number" id="numOne" />
  <input placeholder="enter a number" id="numTwo" />
  <br>
  <button id="M">Multiply</button>
  <button id="D">Divide</button>
  <br><br>
  <input id="answer" />
</form>

关于javascript - 为什么无论单击哪个按钮都会得到相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45643963/

相关文章:

javascript - 如何使用 instafeed.js 保留我的模板,但提取我的个人提要?

javascript - Jquery Mobile - 关闭对话框后跳转固定标题(firefox)

javascript - Angular 2/4 在运行时选择路由器导出

html - 移动端定位问题

javascript - Highcharts : How to graph from Radio Button

javascript - 在窗口调整大小时保持原始高度比的 Flexbox 行

css - 如何使用 bulma 将文本放入 HTML5 的进度条中?

javascript - 在 Magento 一页结帐页面中添加 SSL 权限 javascript 代码

javascript - 从数组/Javascript 中删除具有空值的对象

javascript - 下划线_.every方法是否同步?