Durchschnitt über JS und HTML. Was mach ich Falsch?
Ich habe folgenden Code: HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="javascript.js"></script>
</head>
<body>
<input type="text" id="min" placeholder="Min" />
<input type="text" id="min" placeholder="Max" />
<input type="submit" value="Enter" onclick="durchschnitt()" />
</body>
</html>
Und JS:
function durchschnitt() {
var X = document.createElement("P");
X.setAttribute("placeholder", "Min");
X.setAttribute("id", "dout");
X.setAttribute("value", dout)
var minP = document.getElementById.valueOf("min");
var maxP = document.getElementById.valueOf("max");
var dout = minP + maxP;
document.write(dout)
}
Ich möchte eben das man zwei Werte eingibt von denen dann eben der durchschnitt berechnet wird. Ich habe im Moment nur eine Addition eingebaut um das ganze zu Testen. Das dabei nicht der Durchschnitt raus kommt ist mir klar. ich will nur das erstmal das Ergebnis von dout raus kommt
3 Antworten
... außerdem verwendest du getElementById falsch. So sollte es gehen:
var minP = document.getElementById("min").value;
var maxP = document.getElementById("max").value;
Zusätzlich müsstest du die Werte noch in echte Zahlen konvertieren um sinnvoll weiterrechnen zu können:
minP = parseFloat(minP);
maxP = parseFloat(maxP);
Noch eine Frage: Wie mach ich das dout nicht im value wie oben sondern die XYZ ersetz?
<p>XYZ</p>
Funktion für den Durchschnitt:
var average = function (val1, val2) {
return (val1 + val2) / 2;
}
document.write(average(5, 7));
// in der / den html-Seite/n, in der die js-Datei eingebunden ist, steht jetzt "6"
Wenn du es etwas individueller haben möchtest, weil es bei jeder Eingabe unterschiedlich viele Werte sein können, sag' Bescheid, dann kann ich dir wieder helfen.
das wird so nicht funktionieren, da bei dir die input Felder die gleiche ID haben.
Woher sollen wir bei dir wissen, was nun die aktuellste Version ist, wenn du schon nicht diese uns zeigst? Würde dir raten jQuery zu verwenden, das vereinfacht das ganze enorm.
eigentlich hat der input mit name=Max die id=max