javascript - 如何使两个按钮在 Javascript 中工作?
问题描述
我正在尝试学习 javascript,并且正在制作一个简单的华氏摄氏度应用程序。我目前遇到的问题只是两个按钮之一起作用。如果有 2 个 if 语句,则只有按钮 Fahrenheit2Celcius 按钮有效,如果有 if... else if 语句,则只有按钮 Celcius2Fahrenheit 有效,但它们从不同时工作。你能解释一下我做错了什么吗?这是我的代码:
function C2F() {
var Stoinost = document.getElementById('Stoinost').value;
var Fahrenheit = (Stoinost * 1.8) + 32;
var fahrenheit2 = Math.round(Fahrenheit*100)/100;
var C2F_but = document.getElementById("C2F");
var Celcius = (Stoinost - 32) * (5/9);
var Celcius2 = Math.round(Celcius*100)/100;
var F2C_but = document.getElementById("F2C");
if (C2F_but){
document.getElementById("result").innerHTML = fahrenheit2;
}
if (F2C_but){
document.getElementById("result").innerHTML = Celcius2;
}
}
<table id="myTable">
<tr>
<tr><td><p> Input Value: <input type="number" id="Stoinost" size="20" ></p></td></tr>
<td>
<button onclick="C2F()" id="F2C">Fahrenheit2Celcius</button>
<button onclick="C2F()" id="C2F">Celcius2Fahrenheit</button>
</td>
<tr><td><p> <div id="result">Result is displayed here.</div> </p></td></tr>
</tr>
</table>
解决方案
您可以this
在 onclick 处理程序中调用函数时使用,并通过检查其上的属性(如 id)来检测单击了哪个元素:
function C2F(btn) {
console.log(btn.id);
}
<button onclick="C2F(this)" id="F2C">Fahrenheit2Celcius</button>
<button onclick="C2F(this)" id="C2F">Celcius2Fahrenheit</button>
但是一个更简单且可能更好的解决方案是只使用两个函数。
推荐阅读
- c# - Unity 2D:NullReferenceException:对象引用未设置为对象的实例
- javascript - 在 HTML div 类中使用 JS 加载 PHP 生成的 HTML 不再起作用
- c# - 如何按长度降序对字符串列表的内容进行排序?
- html - 字号异相
- python - 给定python中的列表,为每个条目添加一个数字
- python-3.x - DataFrame 的 3D 绘图
- javascript - 机器人如何在三秒或一段时间后编辑其消息
- java - 如何在java中的文件夹内创建一个文件夹
- python - 当显示用户列表时,我希望我最喜欢的用户的行的背景颜色为天蓝色。有没有有效的方法来做到这一点?
- ios - 执行后台任务的通用链接?