10. Juli 2015 14:29
Hallo zusammen,
mein aktuelles Problem ist wirklich bitter...
Folgendes: Ich habe in meiner Entität ein JS eingebaut, welches in einem Feld die Zeit jedesmal um eine Minute hochzählt (mit einem Timer -setInterval).
Wenn jemand nun im Beschreibungsfeld etwas eingibt und währenddessen ungespeicherte Änderungen erfolgt sind (nämlich durch das Hochzählen der Minuten), dann greift das autoSave und mein Text, den ich in das Beschreibungsfeld geschrieben hatte, geht mir verloren und auch mein Fokus auf das Feld.
Nun habe ich gedacht, OK. Du schaltest den Autosave für dieses Formular aus mithilfe eines JS aus (steht auch im SDK als function preventAutoSave). Diese Funktion bricht aber nur das Save Ereignis ab, NACHDEM es bereits loslief und stoppt die Ausführung des Ereignisses. Hierbei verliere ich trotzdem meinen Fokus und den Text den ich in das Beschreibungsfeld geschrieben hatte.
Auch mit getisDirty habe ich mein Glück versucht, da ich aber nicht aus dem Beschreibungsfeld rausgehe, während das Save Ereignis losläuft, erkennt das JS nicht, dass das Feld dirty ist.
Nun habe ich mir überlegt, ob ich nicht in das AutoSave Ereignis rein gretschen kann und hierbei zum Einen das Element ermittle, das den Fokus hat. Zusätzlich brauche ich über Control den Text im Beschreibungsfeld, der zwar auf der Oberfläche getippt wurde, aber noch nicht im Attribut gespeichert wurde. Dann würde ich diese beiden Dinge einfach in das preventAutoSave, sprich Focus an der richtigen Stelle setzen und den Text in das Beschreibungsfeld schreiben und hätte das Problem gelöst.
ABER: Wie kriege ich denn den Text im Beschreibungsfeld ermittelt, welcher noch nicht im Attribute geschrieben wurde sondern nur auf der Oberfläche???
Vielen Dank für Eure Hilfe!
Zuletzt geändert von MissCRM am 14. Juli 2015 19:12, insgesamt 1-mal geändert.