DerFinne: Formulardaten automatisch Zwischenspeichern

Hallo!

Für mein selbstentwickeltes CRM bin ich gerade auf der Suche nach einer Möglichkeit, die Formulardaten (speziell die in einer Textarea) in regelmässigen Abständen (z.b. jede Minute) automatisch zwischenzuspeichern. Das Ganze sollte nach Möglichkeit im Hintergrund passieren - also so, dass der Benutzer weiterschreiben kann, ohne dass sich die Seite neu lädt o.ä.

Lässt sich so etwas umsetzen? Wonach müsste ich suchen (ich vermute Ajax - aber da bin ich noch relativ blank...)? Falls jemand zufällig einen passenden Link mit einem Beispiel bei der Hand hat ist ihm mein ewiger Dank sicher ;-) Google war leider wenig hilfreich (oder ich habe nach den falschen Kriterien gesucht).

Bin für jeden Hinweis dankbar!

EDIT: Weil's vielleicht nicht ganz unwesentlich ist: Das Projekt basiert auf PHP, die Daten werden in einer MySQL Datenbank gespeichert.

  1. Hallo

    Für mein selbstentwickeltes CRM bin ich gerade auf der Suche nach einer Möglichkeit, die Formulardaten (speziell die in einer Textarea) in regelmässigen Abständen (z.b. jede Minute) automatisch zwischenzuspeichern.

    Du erwähnst weiter unten PHP und MySQL. Ist es notwendig, dass das Zwischenspeichern auf dem Server erfolgt?

    Wenn das notwendig ist und du keinen Reload auslösen willst, kommst du nicht umhin, dich mit Ajax bzw. allgemeiner mit JavaScript zu beschäftigen.

    Das Speichern sollte aber genausogut im Browser erfolgen können, schließlich ist es die Eingabe des Benutzers dieses Browsers und da er vom Zwischenspeichern nichts mitbekommen soll, also auch nicht davon weiß, wird er seine Eingaben abschließend eh normal absenden. Lokal kannst du die Eingaben mit JavaScript im Session-Storage ablegen und nach dem Absenden des Formulars wieder von dort löschen.

    Tschö, Auge

    --
    Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
    Terry Pratchett, „Gevatter Tod“
  2. Lieber DerFinne,

    Wonach müsste ich suchen (ich vermute Ajax - aber da bin ich noch relativ blank...)?

    ja, AJAX ist schon die richtige Richtung. Du willst per JavaScript einen POST-Request simulieren, als hätte der User den Submit-Button selbst betätigt. Es bleibt nun die Aufgabe, die notwendigen Formulardaten für einen POST-Request zusammen zu stellen und per JavaScript auf die Reise zu schicken.

    Das Modewort "AJAX" steht eigentlich für ein XMLHttpRequest-Objekt, welches den asynchronen HTTP-Request (in Deinem Fall mit der POST-Methode) im Hintergrund durchführen kann. Vermutlich wirst Du ein JavaScript-Framework wie jQuery oder dergleichen einsetzen, welches die Nutzung eines XMLHttpRequest stark vereinfachen kann, deshalb solltest Du auf die bereits vorhandenen Vereinfachungen zurückgreifen, da sie mögliche Browserunterschiede im Hintergrund ausgleichen.

    Es stellt sich die Frage, inwiefern Du eine Antwort des Servers auf Deinen AJAX-Call dem Benutzer zugänglich machen willst (wie z.B. "automatische Speicherung erfolgreich" o.ä.), und ob Du serverseitig das endgültige Speichern des Benutzers anders handhaben möchtest, als die automatischen Zwischenspeicherungen.

    Liebe Grüße,

    Felix Riesterer.

  3. Wäre ja noch schöner, wenn der Benutzer gar nicht mitbekommt, dass die Daten auf dem Server verschwinden und er sich sicher ist, dass er seine Eingabe am Ende gar nicht absenden wollte.

    Wäre zu überlegen.

  4. Hallo!

    Für mein selbstentwickeltes CRM bin ich gerade auf der Suche nach einer Möglichkeit, die Formulardaten (speziell die in einer Textarea) in regelmässigen Abständen (z.b. jede Minute) automatisch zwischenzuspeichern. Das Ganze sollte nach Möglichkeit im Hintergrund passieren - also so, dass der Benutzer weiterschreiben kann, ohne dass sich die Seite neu lädt o.ä.

    Hallo,

    ich glaube nicht, dass Du wirklich das suchst, was Du hier beschriebst.

    Sag mal, wozu das Ganze gut sein soll, dann könnte man überlegen, ob Du wirklich nach einem Ajax-Request suchst.

    Ich vermute fast mal, dass Du verhindern willst, dass ein User seinen Input verliert, wenn er das Formular absendet und er in Deinem CMS nicht mehr gültig eingeloggt ist. Da wäre aber dann ein Ajax Request nicht das Mittel der Wahl.

    Also laß mal darüber reden, warum Du "zwischenspeichern" willst?

    Jonny