Ich möchte mit dem Ohmschen Gesetz jeweils Strom, Spannung und Widerstand mittels Formulareingaben berechnen. Ich möchte auf einen "Berechne"-Button verzichten, statt dessen soll bei Eingabe in eines der drei Felder die beiden anderen Ergebnisse sofort angezeigt werden (change event?).
Code
<form>
<label for="spannung">Spannung U:
<input id="spannung" type="number" min="1" max="10000" step="1" value="1">Volt</label><br>
<label for="widerstand">Widerstand R:
<input id="widerstand" type="number" min="1" max="10000" step="1" value="1">Ohm</label><br>
<label for="strom">Stromstärke I:
<input id="strom" type="number" min="1" max="10000" step="1" value="1">
Ampere</label><br>
</form>
<p id="ergWiderstand"></p>
<p id="ergStrom"></p>
<p id="ergSpannung"></p>
<script>
i=document.querySelectorAll('label input');
i.forEach(function(e,ix){
var eventList = ["change", "keyup"];//focus,keydown,keypress usw
for(event of eventList) {
e.addEventListener(event, function() {
i.forEach(function(e){
a=i[0].value / i[2].value;
b=i[0].value / i[1].value;
c=i[1].value * i[2].value;
if(ix!=1){
i[1].value=a;
}
if(ix!=2){
i[2].value=b;
}
if(ix!=0){
i[0].value=c;
}
})
})
}
})
</script>
</body>
</html>