Gunther II: Formularverarbeitung - onchange

Hallo,
in meinem Formular prüfe ich die Werte mit "onchange='pruefung...'".
Dies funktioniert dann nicht, wenn in dem Feld Werte aus früheren Eingaben (auch in anderen Formularen, wohl mit gleichem Namen) vorgeschlagen und ausgewählt werden. Damit können auch unzulässige Werte eingegeben werden. Ich kann aber auch nicht davon ausgehen, dass beim Anwender die Funktion der Speicherung der Eingaben unterdrückt ist. Mit welcher on...-Funktion bekomme ich dies in den Griff?
Gruß
Gunther

  1. hi,

    in meinem Formular prüfe ich die Werte mit "onchange='pruefung...'".
    Dies funktioniert dann nicht, wenn in dem Feld Werte aus früheren Eingaben (auch in anderen Formularen, wohl mit gleichem Namen) vorgeschlagen und ausgewählt werden. Damit können auch unzulässige Werte eingegeben werden. Ich kann aber auch nicht davon ausgehen, dass beim Anwender die Funktion der Speicherung der Eingaben unterdrückt ist. Mit welcher on...-Funktion bekomme ich dies in den Griff?

    onsubmit im Formular.

    gruß,
    wahsaga

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

      Schön und gut, aber da muss ich sehr viele Felder testen, obwohl nicht angefasst. Das halte ich nicht für sehr einfallsreich.
      Gruß
      Gunther II

      1. onsubmit im Formular.

        Schön und gut, aber da muss ich sehr viele Felder testen, obwohl nicht angefasst. Das halte ich nicht für sehr einfallsreich.

        aber sinnvoller als den onchange Event zu verwenden, zumal du damit auch nicht das Absenden des Formulares verhindern kannst, mit onsubmit schon.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. »

          aber sinnvoller als den onchange Event zu verwenden, zumal du damit auch nicht das Absenden des Formulares verhindern kannst, mit onsubmit schon.

          Es heißt ja nicht, dass ich in onsubmit nichts mache.
          Ich prüfe, ob noch Fehlerhafte Felder vorliegen. Wenn nein wird nicht abgeschickt.

          1. »

            aber sinnvoller als den onchange Event zu verwenden, zumal du damit auch nicht das Absenden des Formulares verhindern kannst, mit onsubmit schon.

            Es heißt ja nicht, dass ich in onsubmit nichts mache.
            Ich prüfe, ob noch Fehlerhafte Felder vorliegen. Wenn nein wird nicht abgeschickt.

            Das heißt du würdest gerne doppelt testen?

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Das heißt du würdest gerne doppelt testen?

              Nein!
              Es gibt ja verschiedene Ansätze.
              Von mir wird verlangt, dass ich Fehler möglichst früh melde.
              Fehlerhafte Felder werden in einer Tabelle markiert. Und nur die Tabelle wird bei onsubmit geprüft (j/N).
              Gruß
              Gunther II

              1. Das heißt du würdest gerne doppelt testen?

                Nein!
                Es gibt ja verschiedene Ansätze.
                Von mir wird verlangt, dass ich Fehler möglichst früh melde.
                Fehlerhafte Felder werden in einer Tabelle markiert. Und nur die Tabelle wird bei onsubmit geprüft (j/N).

                Du meinst das ist effektiver?
                Glaub ich aber nicht
                naja, wie auch immer, ich hab das mal getestet, bei mir wird onchange nur im FF gefeuert., d.h. es ist ein IE Problem dass du wohl mit onblur abfangen musst.

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Du meinst das ist effektiver?
                  Glaub ich aber nicht

                  Glauben ist nicht wissen.
                  Wir haben (allerdings am Großrechner) mit Massendaten die Effizienz getestet und die Ergebnisse auf PC-Anwendungen übertragen. Soweit dies überhaupt messbar war, haben wir auch hier Vorteile meines Verfahrens erkannt.

                  onblur ist leider auch noch nicht    DIE    Lösung, denn wenn eine(r) mit der Tab-Taste durch alle Felder rauscht, laufen doch wieder redundante Prüfungen ab.
                  Da bekomme ich von den Obertheoretikern (zu denen ich mich auch zähle) einen auf die Mütze.

                  Zur Diskussion möchte ich eher stellen meine vorher gemachte Kritik an dem onchange, das einen Change nicht erkennt!
                  Schönen abend noch
                  ich gehe jetzt in die Heia,
                  werde aber sofort morgen früh nach dem Diskussionsverlauf sehen!

                  1. Glauben ist nicht wissen.
                    Wir haben (allerdings am Großrechner) mit Massendaten die Effizienz getestet und die Ergebnisse auf PC-Anwendungen übertragen. Soweit dies überhaupt messbar war, haben wir auch hier Vorteile meines Verfahrens erkannt.

                    *LOL* eine lustige Geschichte.

                    onblur ist leider auch noch nicht    DIE    Lösung, denn wenn eine(r) mit der Tab-Taste durch alle Felder rauscht, laufen doch wieder redundante Prüfungen ab.
                    Da bekomme ich von den Obertheoretikern (zu denen ich mich auch zähle) einen auf die Mütze.

                    Naja, prüfen musst du, da der Event nicht funktioiert wie er soll und einen anderen gibt es nicht. Du kannst ja aus Effizenzgründen den Event nur dem IE unterjubeln.

                    Du kannst aber mal Microsoft nachschauen /ich find mich da grad nicht zu recht) ob's da was gibt.

                    Zur Diskussion möchte ich eher stellen meine vorher gemachte Kritik an dem onchange, das einen Change nicht erkennt!

                    Recht hast du!

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
                    1. Du kannst ja aus Effizenzgründen den Event nur dem IE unterjubeln.

                      Ja, dann werde ich mal, mangels Alternativen, in den saueren Apfel beißen.
                      Danke

                    2. Hallo Struppi,
                      ich hoffe du liest diesen Thread noch.

                      Naja, prüfen musst du, da der Event nicht funktioiert wie er soll und einen anderen gibt es nicht. Du kannst ja aus Effizenzgründen den Event nur dem IE unterjubeln.

                      Ich habe gerade folgenden thread gefunden

                      Browserabhängige Routinen

                      Da wird ja die browserabhängige Verarbeitung zerrissen. Was hälst Du davon?
                      Gruß
                      Gunther

                      1. Browserabhängige Routinen

                        Da wird ja die browserabhängige Verarbeitung zerrissen. Was hälst Du davon?

                        Das Problem ist, dass das Verhalten, dass du kontrollieren willst, sich nicht ohne eine Browsererkennung bewerkstelligen läßt. Ich verwende üblicherweise z.b. sowas if( document.getElementById).... geht aber in deinem Fall nicht, da du ja auf ein Nicht-Verhalten testen willst.
                        Aber besser als appName ist es sich was hier raus zu suchen:
                        http://www.lipfert-malik.de/webdesign/tutorial/bsp/browser_js_test.html

                        Struppi.

                        --
                        Javascript ist toll (Perl auch!)
      2. hi,

        Schön und gut, aber da muss ich sehr viele Felder testen, obwohl nicht angefasst.

        Na und?
        Die Prüfroutinen hast du ja sicher sowieso schon vorliegen.
        Ob du sie nun einmal mehr und ggf. auch umsonst aufrufst, dürfte kaum ins Gewicht fallen.

        Das halte ich nicht für sehr einfallsreich.

        Du fragst hier, weil dir selber nichts zielführendes einfällt - und bringst dann solche Sprüche? :-)

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Du fragst hier, weil dir selber nichts zielführendes einfällt

          Meine Prüfungen sind doch zielführend und nach jeder menschlichen Logik muss ich nur einen Feldinhalt (erneut) prüfen, wenn dort etwas verändert wurde. Wenn nicht, bleibt der bereits erkannte Zustand bestehen (fehlerhaft oder nicht).
          Was leider nach meiner bescheidenen Meinung unlogisch ist, ist die Tatsache, dass wenn ein leeres Feld durch Auswahl eines Wertes aus einer Vorschlagsliste dann als nicht verändert erkannt wird.