Aufforderung zum Save

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Aufforderung zum Save

    Hallo,

    Habe mir ein php Script zusammengebastelt,
    welches ein Html Formular erstellt das mit Daten aus einer Db gefüllt wird.
    In dem Formular können die User dann die Daten ändern und erneut in der DB abspeichern.
    Die Seite enthält noch eine Suchfunktion(Suchbutton) und einen "Record".

    Nun eine Frage dazu:

    Ich möchte gerne das wenn ein Benutzer eine änderung der Daten vorgenommen hat (worauf php wahrscheinlich nicht bis zum Abschicken des Formulars reagieren kann) eine Meldung am Bildschirm erschein die ihn auffordert zum Speichern der Daten in die DB den Savebutton zu drücken.

    Diese Meldung soll aber nicht nach jeder änderung in einem beliebigen Eingabefeld erscheinen, sondern sie soll erscheinen, bevor der User den Suchbutton, oder einen Recordbutton betätigt.(Also bevor er irgend einen anderen Button der Seite betätigt.

    Is das eher JS oder PHP. Ich tippe mal auf JS
    Also sie soll ihn an den Save "erinnern". Gibt es dafür überhaupt eine Lösung?
    (Abfrage: Bevor ein Button gedrückt wird, dann mach ...)

    Oder kann mann auch Bildschirmbereiche definieren und dann sagen:
    Sobald die Maus sich dem "Bereich der Buttons" nähert, dann Meldung zum Speichern? Wie löst man sowas überhaupt?

    Danke für Tipps

  • #2
    PHP gibt das Formular aus, also kennt PHP auch die Defaultwerte der einzelnen Inputfelder.
    Lass PHP auch eine JS-Funktion ausgeben, die bei Klick auf einen der 'heißen' Buttons aufgerufen wird. Sie prüft ob die derzeitigen Werte der Inputfelder gleich denen sind, die PHP statisch in die JS-Funktion geschrieben hat. Wenn nicht, dann vereitelt die Funktion den Klick und fordert per alert() zum Speichern auf.

    PHP schreibt also ungefähr dies (für alle fraglichen Inputfelder) in die HTML-Ausgabe:
    Code:
    function check() {
      if (jetzigerWert != 'originalWert') {
        alert('Erst speichern!');
        return false;
      }
      return true;
    }

    Kommentar


    • #3
      Ja aber wenn der User doch schon den Button betätigt hat, ist es doch schon zu spät.
      Angenommen er ändert die Daten in der Maske und "blättert" dann per Record einen Datensatz weiter, dann ist es doch zu spàt an den save zu erinnern. Der User sieht doch dann schon den nächten Datensatz.

      Oder kann man z.B die Abfrage eines beliebigen Buttons irgendwie unterteilen? Also dass er erst feststellt ob änderung, dann soll er bei altem satz bleiben mit Savemeldung, ansonsten Aktion des Buttons ausführen.

      Kommentar


      • #4
        Re: Aufforderung zum Save

        Original geschrieben von galaxy2

        Diese Meldung soll aber nicht nach jeder änderung in einem beliebigen Eingabefeld erscheinen, sondern sie soll erscheinen, [color=red]bevor[/color] der User den Suchbutton, oder einen Recordbutton betätigt.(Also [color=red]bevor[/color] er irgend einen anderen Button der Seite betätigt.
        wie soll denn das deiner Meinung nach funktionieren selbst deine Mutter/Freundin/... kann noch nicht mal erahnen, was du in der nächste Sekunde tun wirst, wie soll denn der Browser das können?

        Du kannst nur auf ein Event (Aktion des Users) reagieren, z.B. bei onClick prüfen, ob ein bestimmter Flag gesetzt ist, und dann entweder Nachricht anzeigen, oder nächste Aktion ausführen usw...

        das nächste Mal überlegst du gründlich, bevor du sowas bescheuertes fragst

        Kommentar


        • #5
          meins du....

          PHP-Code:
          <script type="text/javascript">
            function 
          pruef_mich(){
              return 
          false;
            }
          </
          script>

          <
          form onsubmit="return pruef_mich();">
            <
          button type="submit"></button>
          </
          form
          ??

          Wenn du es so machst, wird das Formular erst abgeschickt, wenn die JavaScript Funktion true zurück gibt...

          Kommentar


          • #6
            Sowas habe ich vor einiger Zeit mal gebastelt. Wenn ein formularfeld geändert wird, wird in JS ein Flag gesetzt. Jeder Link prüft beim Klick dieses Flag ab. Ist es true, erscheint ein confirm ...
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              Da gibts viele Möglichkeiten, eine davon wäre ...

              hot button: <input type="button" value="Suchen" onClick="check();" /><br />
              sicher, braucht kein check(): <input type="submit" value="Speichern" />

              ... und wenn check() zu dem Schluß kommt, das keine Daten gespeichert werden müssen, leitet es den Browser zum Beispiel per 'location' auf die Suchseite. Anderenfalls wirft check() einen alert() und kehrt zurück.

              Eine weitere Möglichkeit wäre (ähnlich wie mit dem Flag), sofort bei Änderung eines Eingabefeldes die hot buttons zu disablen. (finest denglisch)

              Wenn ich mich nicht verzählt habe, waren das jetzt schon vier Möglichkeiten. Und es gibt noch einige mehr. Mir ist aber keine davon als "Standardlösung" bekannt, Javascript ist was für Kreative!
              Zuletzt geändert von onemorenerd; 08.08.2005, 10:37.

              Kommentar


              • #8
                @ asp2php

                So bescheuert finde ich die Frage gar nicht.
                Kann nur sein das du sie nicht verstehst!!!!

                Das man nicht ahnen kann wass der User vor hat ist mir schon klar.
                Dafür war ja auch mein Zusatz ob man die Seite in Bereiche einteilen kann , un wenn die Maus diesen betritt, das dann eine Meldung erscheint.
                Oder wenn die Maus über einen solchen Button bewegt wird, dann Meldung.

                Wollt einfach mal wissen wie man eine Lösung zu meinem Problem generell angeht.(verschiedenen Möglichkeiten)

                Da hat mir deine bescheuerte Antwort nicht geholfen.

                Den andern danke ich aber vielmals für die Hinweise. Jetzt weis ich in etwa wie ich das Problem angehen kann

                Kommentar


                • #9
                  Original geschrieben von galaxy2
                  @ asp2php

                  So bescheuert finde ich die Frage gar nicht.
                  Kann nur sein das du sie nicht verstehst!!!!
                  nein ich habe mich etwas unglücklich ausgedrückt. Es war nicht bescheuert. Es war einfach dumm.
                  Da hat mir deine bescheuerte Antwort nicht geholfen.
                  das wundert mich nicht, dass du damit nichts anfangen kannst, denn so wie du proggst ...

                  btw: ich hatte einen Smile an meiner Bemerkung, also nicht böse gemeint, aber bitte ... wenn du mich unbedingt angreifen willst, gerne ... verwarnung ... und close

                  Kommentar

                  Lädt...
                  X