berechnung in form überprüfen...

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

  • berechnung in form überprüfen...

    hi leute,

    ich habe in meinem form ein texteingabefeld, einen "Summe bilden"-Button und ein readonly-textfeld.
    gibt der user jetzt zB die zahl 5 ein und klickt auf "summe bilden", dann wird 5 mit zB 3 (von mir fix im code vorgegeben) multipliziert und das ergebnis (15) im readonly-textfield dargestellt.

    wenn er auf SUBMIT klickt, überprüfe ich in einer JS-function, ob er auch wirlich die Summe berechnet hat.

    das problem:
    wenn er nach dem summenbilden im textfeld zB 4 eingibt und nicht neu berechnet, dann bleibt die vorher errechnete summe drinnenstehen, die aber nicht stimmt. das ergebnis wäre in diesem fall ja 12!

    meine frage:
    wie kann ich es machen, dass ich diesen Umstand überprüfen kann?
    müßte mir irgendwie im JS-code die variable des texteingabefeldes merken und dann beim SUBMIT-klick checken, ob sich die geändert hat. aber wie mach ich das am besten?

    mit anderen Worten:
    ich will überprüfen, ob sich der inhalt der variablen nach der berechnung geändert hat oder nicht.
    wenn ja, dann kommt nach klick auf den submit-button ein alert.

    nochmals zur erläuterung ein bsp:
    der multiplikationsfaktor ist 3.

    der user gibt bei menge 5 ein und klickt auf summe bilden
    => ergebnis ist also 15

    danach gibt er bei menge 3 ein und klickt NICHT auf summe bilden. muss er aber weil sich das ergebnis auf 9 geändert hat.

    diesen umstand muss ich beim klick auf SUBMIT überprüfen.
    d.h. ich muss mir zuerst in einer variablen den wert 3 merken und dann in der function die vom SUBMIT-button aufgerufen wird mittels if-abfrage checken, ob der wert dann noch immer 3 ist oder sich geändert hat.
    wenn geändert, dann eben alert "neu berechnen"


    bitte um rat
    $PHP resource 4ever$

  • #2
    das Eingabefeld erweitern um:
    onfocus="document.forms[0].summe.value='';"

    dann sollte jedesmal wenn das Eingabefeld aktiv wird die Summe = '' werden...
    Gruß
    Thomas

    Kommentar


    • #3
      was soll die summe dann werden mit dem onfocus??

      versteh ich nicht ganz!
      kannst du's nochmal kurz erläutern?
      was bewirkt der befehl genau?
      $PHP resource 4ever$

      Kommentar


      • #4
        onfocus="document.forms[0].summe.value='';"
        -> das Feld summe (wo dein Ergebnis drin stehen soll) wird '' (single quotes) also nix!
        beim submit Button überprüft Du ja eh ob Summe leer ist oder nicht.

        alternativ könntest Du die Berechnung auch bei onblur des Textfeldes machen lassen - spart den Button...
        Gruß
        Thomas

        Kommentar


        • #5
          hmm, das heißt, der user kann dann im readonly ergebnisfeld die berechnete Summe sprich das Ergebnis nicht sehen, oder wie?

          wo hänge ich deinen Befehl eigentlich dran?
          $PHP resource 4ever$

          Kommentar


          • #6
            Original geschrieben von Metallica
            hmm, das heißt, der user kann dann im readonly ergebnisfeld die berechnete Summe sprich das Ergebnis nicht sehen, oder wie?

            wo hänge ich deinen Befehl eigentlich dran?
            du machst diesen befehl in das feld, wo der user die zahl 5 eingibt (in deinem beispiel).

            sobald diese feld den focus erhält (der user reingeklickt hat), wird das summenfeld wieder auf blank zurückgesetzt.


            aber warum nicht gleich andersherum?

            ich würd vorschlagen, den eventhandler onBlur in eingabefeld zu machen - der tritt ein, sobald der user dieses feld wieder verlässt. und in dem moment rufst du einfach die funktion zum berechnen der summe auf - damit hast du nach jeder änderung die aktuelle summe!
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ahhhh, jetzt hat's geblitzt. jetzt verstehe ich was ihr meint.

              wahsaga, kannst du mir ein kurzes beispiel posten damit ich noch check wie du das mit dem onBlur meinst?
              $PHP resource 4ever$

              Kommentar


              • #8
                bin twar nicht wahsaga aber vom Einkaufen zurück
                <input type="text" name="zahl" onBlur="rechne();">

                wenn das Textfeld inaktiv wird,
                wird dir Rechenfunktion aufgerufen.
                (onBlur = Gegenteil von onFocus)
                mehr dazu

                die 'Rechenfunktion hast Du ja bereits...'
                Gruß
                Thomas

                Kommentar


                • #9
                  heyyy, hat geklappt. das ist ja perfekt mit dem onBlur. jetzt erspare ich mir sogar den summenbutton!!!!

                  EWIGEN DANK, Leute!!

                  so hab ich mir das vorgestellt!

                  $PHP resource 4ever$

                  Kommentar

                  Lädt...
                  X