Du hast da zwei Elemente mit der ID "xfield". Für den Anfang ist es wahrscheinlich am einfachsten, wenn Du die IDs eindeutig machst und an die Funktion myRange() übergibst:
Code Alles anzeigen<form oninput=myRange(parseInt(a.value),parseInt(b.value), "xfield1");> 0<input type="range" id="a" value="50">100 +<input type="number" id="b" value="50"> =<output name="x" id="xfield1" for="a b"></output> </form> <br> <form oninput=myRange(parseInt(c.value),parseInt(d.value), "xfield2");> 0<input type="range" id="c" value="25">100 +<input type="number" id="d" value="25"> =<output name="x" id="xfield2" for="c d"></output> </form> </body> <script> function myRange(a1, a2, idout) { var x = document.getElementById(idout); x.value = a1 + a2; } </script>
Super! Vielen Dank! Das hat mir echt geholfen
Ich hätte hier noch eine zweite Frage: Ich möchte, dass die beiden beiden Berechnungen nicht erst bei oninput gestartet werden, sondern auch automatisch als onload im body beim Laden der Website. Dies funktioniert auch, wenn ich beide entsprechend in den body-Tag aufnehme:
<body onload=myRange(parseInt(a.value),parseInt(b.value), "xfield1")
onload=myRange(parseInt(c.value),parseInt(d.value), "xfield2")>
Allerdings ist das sehr aufwändig, wenn noch mehr Felder hinzukommen. Wie würde ich das am Sinnvollsten lösen, wenn eine entsprechende Funktion zusätzlich im body als onload-Event gestartet werden soll?
Danke schon mal.
Beste Grüße
Markus