Rolf B: Schleife in einer Javascript funktion

Beitrag lesen

Hallo Franz,

d.h. du summierst die Zeilen und die Spalten? Knifflig, das mit CSS Selektoren zu lösen 😀

Sind die genannten IDs die realen IDs deiner Seite? Wenn ja, sind sie ungeschickt gewählt, weil die Namensvergabe inkonsistent ist.

Spalte 1 sind nur Namen? Brauchen die überhaupt IDs?

Die Spalten 2 bis N sind Wertespalten. Ob Du da nun mit _1 oder _2 als Suffix beginnst, ist gehupft wie gesprungen, aber das Suffix der zu summierenden Felder und das Suffix des Ergebnisfeldes sollten identisch sein. Das vereinfacht das Programmieren deutlich, aber das scheint bei Dir nicht der Fall. Ein Ergebnisfeld ergebnis_z_10_1 sollte Daten der Eingabefelder wert1_1, wert2_1 etc beinhalten.

Wie auch immer: Wenn die IDs der Spalte 2 "wert1_2", "wert2_2", ..., "wert8_2" heißen, dann muss natürlich auch der Ausdruck, der diese IDs erzeugt, passend dazu sein. Das wäre ["wert"+i+"_2"].

Dieses Suffix kannst Du der rechnen() Funktion auch als Parameter mitgeben. D.h. bei den input-Feldern der ersten Spalte könntest Du oninput="rechnen(1)" schreiben, und in rechnen verwendest Du das:

function rechnen(spalte) {
   let summe = 0;
   for (let i=1; i<=8; i++)
      summe += getInputAsFloat(document.formular1["wert"+i+"_"+spalte]);

   document.formular1["ergebnis_z_10_"+spalte].value = summe;
}

Schreib das nicht einfach ab. Überlege genau, welche Werte Du brauchst, damit es zu den von Dir gewählten Namen passt.

Ob Du beim Ergebnis .value oder .text verwenden musst hängt davon ab, was für ein HTML Ding das ist.

Ich sehe aber noch ein grundsätzliches Bedienbarkeitsproblem in deiner Seite: Ein Eingabefeld muss eine Beschriftung (<label>) haben. Du hast aber nur vor jeder Zeile eine Beschriftung für diese Zeile, und vermutlich ist die auch nicht an ein Eingabefeld gebunden. Wer sehbehindert ist und einen Screenreader braucht, kommt nicht zurecht. Es ist natürlich deine Entscheidung, ob Du diese Form von Able-ism - zumindest vorläufig - hinnehmen willst.

Rolf

--
sumpsi - posui - obstruxi
0 59

Schleife in einer Javascript funktion

Franz
  • javascript
  1. 1
    Tabellenkalk
    1. 0
      Franz
      1. 0
        Tabellenkalk
        1. 0
          Franz
          1. 0
            Rolf B
  2. 2
    Rolf B
    1. 0
      Franz
      1. 1
        JürgenB
        1. 0
          Rolf B
          1. 0
            JürgenB
          2. 0
            Tabellenkalk
      2. 1
        Rolf B
        1. 0
          Franz
          1. 0
            Rolf B
            1. 0
              Franz
              1. 0
                Rolf B
                1. 0
                  Franz
                  1. 0

                    Wert(e) aus function speichern für andere function vorbehalten und wiederverwenden

                    Franz
                    1. 0
                      Der Martin
                      1. 0
                        Rolf B
                    2. 1
                      Rolf B
                      1. 0
                        Franz
                        1. 0
                          Rolf B
                      2. 0

                        Summenzuweisung wird nicht ausgeführt

                        Franz
                        1. 0
                          Rolf B
                          1. 0
                            Franz
                            1. 0
                              Rolf B
                              1. 0

                                Summenzuweisung wird nicht ausgeführt, wenn INPUT Felder nicht übergen werden

                                Franz
                                1. 0
                                  Tabellenkalk
                                2. 0
                                  Der Martin
                                3. 0
                                  Rolf B
                                  1. 0
                                    Franz
                                    1. 0
                                      Rolf B
                                      1. 0
                                        Franz
                                        1. 0
                                          Rolf B
                                          1. 0
                                            Felix Riesterer
                                            1. 0
                                              Rolf B
                                              1. 0
                                                Felix Riesterer
                                                1. 0
                                                  Rolf B
                                          2. 0
                                            Franz
                                            1. 0
                                              Rolf B
                                              1. 0
                                                Franz
                                                1. 1
                                                  Rolf B
                                                  1. 0
                                                    Franz
                            2. 0
                              Rolf B
                              1. 0
                                Franz
                                1. 0
                                  Rolf B
                                  1. 0
                                    Franz
                                    1. 0
                                      Rolf B
                                      1. 0

                                        function setOptionalValue

                                        Franz
                                        1. 0
                                          Rolf B
                                          1. 0
                                            Franz
                                            1. 0
                                              Rolf B
                                    2. 0
                                      Matthias Scharwies
  3. 0
    Felix Riesterer
    1. 0
      Rolf B
  4. 0

    Bei fehlender Variable WIEDER Abbruch ?

    Franz
    1. 1
      Felix Riesterer