【发布时间】:2019-04-30 03:30:26
【问题描述】:
我的代码是here。以下是 HTML:
<!DOCTYPE html>
<html>
<title>Electricity and Magnetism Demo</title>
<body>
<p>
<label>Voltage:</label>
<input id="inputVoltage" type="number" oninput="EqualsVoltage()" onchange="EqualsVoltage()"> </p>
<p>
<label>Current:</label>
<input id="inputCurrent" type="number" oninput="EqualsCurrent()" onchange="EqualsCurrent()"> </p>
<p>
<label>Resistance:</label>
<input id="inputResistance" type="number" oninput="EqualsResistance()" onchange="EqualsResistance()"> </p>
<script language="Javascript" type="text/javascript" src="EandM.js"></script>
</body>
</html>
这里是 Javascript:
//Electricity and Magnetism Stuff
function EqualsVoltage() {
var Voltage = document.getElementById("inputVoltage").value;
var Current = document.getElementById("inputCurrent").value;
var Resistance = document.getElementById("inputResistance").value;
document.getElementById("inputVoltage").value = (Current * Resistance);
}
function EqualsCurrent() {
var Voltage = document.getElementById("inputVoltage").value;
var Current = document.getElementById("inputCurrent").value;
var Resistance = document.getElementById("inputResistance").value;
document.getElementById("inputCurrent").value = (Voltage / Resistance);
}
function EqualsResistance() {
var Voltage = document.getElementById("inputVoltage").value;
var Current = document.getElementById("inputCurrent").value;
var Resistance = document.getElementById("inputResistance").value;
document.getElementById("inputResistance").value = (Voltage / Current);
}
我希望我的计算器在我更改文本字段中的值时对 oninput 和 onchange 事件做出反应。
当oninput 和onchange 运行时,我已经能够制作一个将公里转换为英里的转换器;但是,我无法弄清楚这一点。
当我在字段中输入数据时,它不会更改其他值。请帮忙!
【问题讨论】:
-
不需要将参数传递给对参数不做任何事情的函数
-
只是语义上的观察——你的一些
getElementById中的 L 是大写的。显然他们不应该。 -
您在输入电压时也会调用“changeVoltage”,因此,任何新的电压值都将被调用 changeVoltage 覆盖... changeVoltage 应该计算其他两个变量(不知道如何这样做,因为电压的变化会导致电流变化或电阻变化或两者兼而有之)
-
这个网站有一些很好的简单例子来说明你想要完成的事情。看看——javascriptbank.com/ohm-law-calculator.html
-
修改了代码。
标签: javascript html