• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Durchschnitt berechnen

summi2015

New member
Hallo zusammen,

ich möchte gerne die Durchschnittsumme eines Formulars mit 5 Eingabefeldern berechnet haben.

Ich bin was JavaScript angeht nicht so bewandert, deshalb stelle ich hier meine Frage, in der Hoffnung das mir vielleicht jemand hilft.

das Formular würde folgendermaßen aussehen:

Code:
<body>
<p>Schütze 1 </p>
<form id="form1" name="form1" method="post" action="">
  <label>Wettkampf 1</label>
    <input type="text" name="wk1" id="textfield" /><br />
 <label>Wettkampf 2</label>
    <input type="text" name="wk2" id="textfield" /><br />
    <label>Wettkampf 3</label>
    <input type="text" name="wk3" id="textfield" /><br />
    <label>Wettkampf 4</label>
    <input type="text" name="wk4" id="textfield" /><br />
    <label>Wettkampf 5</label>
    <input type="text" name="wk5" id="textfield" /><br /><br />
    <label>Durchschnitt</label>
    <input type="text" name="schnitt" id="textfield" />
</form>
<p> </p>
</body>

In dem Feld schnitt, sollte dann automatisch der Durchschnitt stehen. Es ist allerdings möglich das nicht jedes Feld ausgefüllt werden muss.
 
Zuletzt bearbeitet von einem Moderator:
Leider habe ich noch nichts probiert, da ich mit JavaScript noch nicht selber programmiert habe. ich kenne mich ein wenig mit PHP und MySql aus.
 
Die Herangehensweise ist ja eigentlich klar: du holst dir all deine <input> in eine Variable (z.B. mittels document.querySelectorAll() oder du gibst ihnen allen eine CSS-Klasse und arbeitest mit document.getElementsByClassName()) und dann iterierst durch diese durch (z.B. mit einer for-Schleife oder dem Array.prototype.slice.call(...).forEach() Konstrukt). In der Schleife holst du dir den Wert in dem <input> (mittels .value) und prüfst, ob da überhaupt irgendetwas drin steht (oder du prüfst direkt, ob da wirklich eine Zahl drin steht - z.B. mit einer RegExp). Wenn etwas drin steht, wandelst du den String mittels parseFloat() in eine Zahl um und addierst sie zu einer Summenvariable. Zusätzlich musst du dann auch noch eine Zählervariable hochzählen, damit du weißt, in wie viele Felder du zuammenaddiert hast. Die Ausgabe bekommst du dann indem du die Summenvariable durch die Zählervariable dividierst (mit einer Zuweisung an .value des gewünschten <input>s, das du z.B. mit document.getElementById() bekommst, wird das dann auch angezeigt).

PS: IDs müssen dokumentenweit eindeutig sein. Du hast gleich fünf mal "textfield".
 
Die Herangehensweise ist mir schon klar. Nur wie ich das programmiertechnisch umsetzen kann ist mir eben nicht klar.
 
fang doch einfach mal an. dann mit f12 die konsole öffnen und im auge behalten. und wenn etwas nicht tut was es soll oder du eine konsolenmeldung nicht verstehst und google keine antwort hat sehen wir uns hier wieder.
 
Zurück
Oben