Andy: unendliches Formular

Hi,

es geht um diese Seite: http://www.gundels.com/demo3/formular/bestellformular.php

Unten bei Daten zu den Buttons soll hinter der Anzahl gleich der Europreis angezeigt werden, dieser wird aus value von Rückseite * Anzahl berechnet.

wie geht das auch für mehr zeilen als für eine?
Danke

Andy

  1. Tag Andy.

    http://www.gundels.com/demo3/formular/bestellformular.php
    Unten bei Daten zu den Buttons soll hinter der Anzahl gleich der Europreis angezeigt werden, dieser wird aus value von Rückseite * Anzahl berechnet.

    Nein, es funktioniert nicht: "t.getElementById is not a function"

    wie geht das auch für mehr zeilen als für eine?

    Grundsätzlich ja, wenn es erstmal für einen Button funktioniert, damit man sich ein Bild davon machen kann, wie du dir das Ergebnis vorstellst.

    Siechfred

    --
    Früh übt sich ... (74kB)
    Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
  2. Hi,

    wie geht das auch für mehr zeilen als für eine?

    t=document.getElementById("buttons").innerHTML;
    s=t.getElementById("Preis[]").innerHTML;

    Ich denke, getElementById ist nicht geeignet.

    Hier ein Schnippsel aus einem Stundenzettel, der den Saldo von Zeile zu Zeile fortschreibt.

    function rechne() {
      var saldo=0;
      for ( i=0; i<document.getElementsByName( 'std' ).length; i++ ) {
        saldo = saldo +1.0 *document.getElementsByName( 'std' )[i].innerHTML;
        document.getElementsByName( 'sal' )[i].innerHTML = saldo;
      }
    }

    LG Kalle O.

  3. Sorry, die erste funktion war nicht tauglich ;)
    hab da noch was versucht.

    Das ganze hat sich aber jetzt erledigt.

    Andere Frage:
    Wie krieg ich raus in welcher Zeile der Besucher etwas geändert hat?

    Danke
    Andy

    1. Tag Andy.

      Sorry, die erste funktion war nicht tauglich ;)
      hab da noch was versucht.

      Geht immer noch nicht, du versuchst, mittels getElementsByName auf HTML-Objekte zuzugreifen, die keinen Namen haben, aber eine id.

      Wie krieg ich raus in welcher Zeile der Besucher etwas geändert hat?

      Indem du onchange eine entsprechende globale Variable änderst, in der die Nummer der geänderten Zeile steht.

      Siechfred

      --
      Früh übt sich ... (74kB)
      Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
  4. hi,

    Unten bei Daten zu den Buttons soll hinter der Anzahl gleich der Europreis angezeigt werden, dieser wird aus value von Rückseite * Anzahl berechnet.

    wie geht das auch für mehr zeilen als für eine?

    derzeit holst du dir von den mit name="ruckseite[]" und name="anz[]" benannten feldern jeweils eines, das mit dem index i.

    es sollte also kein großes problem darstellen, statt lediglich auf einen bestimmten index zuzugreifen, in einer schleife über alle derart benannten felder den jeweiligen preis auszurechnen und dem jeweiligen "Preis[]"-feld zuzuweisen.
    wenn du dabei den index beim aufruf der funktion ganz weglässt, kannst du das bei jeder änderung für alle felder machen.

    wenn du es etwas performanter haben willst, jeweils nur für die geänderte "zeile", dann musst du dir noch eine möglichkeit überlegen festzustellen, welche "zeile" den aufruf ausgelöst hat. mit dem derzeit fest in deiner vorlage verankerten  onChange="preis(1)" geht das so nicht, da müsstest du entweder nach dem klonen der vorlage den wert an dieser stelle anpassen, oder per this eine referenz auf das auslösende objekt übergeben, und so versuchen auch an die anderen zu kommen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }