Tipp: Spalten mit JS addieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tipp: Spalten mit JS addieren

    Hallo.

    Ich habe folgendes Formular-Konstrukt:




    Von diesen Zeilen gibt es variabel zwischen 5...300 Stück.
    Die Anzahl der Spalten ist ebenfalls variabel. (3-5)

    Gibt der Benutzer einen Wert in ein Feld ein bzw. ändert er einen Wert, muss die Summe aller Zahlen in der jew. Spalte neu berechnet werden.
    (Also jede Spalte hat seine eigene Summe.)

    Grundsätzlich gesehen ist das kein Problem, doch wie setze ich das Formular geschickt um, also bspw. die Feldnamen?

    Meine Idee wäre, der JS-Funktion den Namen der Spalte mitzugeben,

    Code:
    function summenbildung(spaltenname)
    {
    }
    die ich wiederum mit in den Feldnamen der Eingabefelder verwurstelt habe.
    Also die Spalte nennt sich bspw. "A" und die Felder dazu

    eingabeA1
    eingabeA2
    eingabeA3
    eingabeA4
    ...

    Mit

    Code:
    var werteingabe1 = document.getElementById("eingabe" + spaltenname + "1");
                   if (werteingabe1 != null)
                   {
      ...geht in die Berechnung ein...
    }
    würde ich über eine Schleife von eingabeA1...eingabeA300 auf Existenz überprüfen und entsprechend addieren.

    Allerdings ist das viel Getippe und ich find's auch nicht besonders schön.

    Gibt's noch eine andere (sauberere) Lösung?

    Danke im Voraus.

    cya

  • #2
    Pack das einfach in eine Schleife und nimm einen Zähler mit rein mit dem du dann die Elementnamen generierst.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Also doch meine unschöne Variante...

      Kommentar


      • #4
        Was ist daran unschön?

        HTML-Code:
        for (var i = 1; i <= 300; i++) {
        var werteingabe = document.getElementById("eingabe" + spaltenname + i);
                       if (werteingabe != null)
                       {
          ...geht in die Berechnung ein...
           }
        }
        Zuletzt geändert von Quetschi; 22.07.2014, 11:37.
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Na ja, weil man soviel prüfen muss. Ich find's halt unschön.

          Kommentar


          • #6
            Naja... du kannst auch mal schauen was JS so macht, wenn du versuchst das ohne Prüfungen stur durchzuaddieren - meine JS-Kenntnisse sind da nach wie vor eher dürftig


            BTW:
            Falsches Forum.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Nee, nee. Die Prüfung ist bei dieser Variante schon notwendig.

              Ich hatte gehofft, es gäbe eine elegante Methode, bei der man eben nicht alle möglichen Felder durchtesten muss.

              Aber egal. Dann mache ich's halt so.

              Zitat von Quetschi Beitrag anzeigen
              Falsches Forum.
              Stimmt, sorry.

              Wenn's ein MOD sieht: Bitte verschieben. Danke.

              cya

              Kommentar


              • #8
                Tipp: HTML kennt „Klassen“, um Elemente als logisch zusammengehörig auszuzeichnen …
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X