Hallo,
ich habe bei einem Konfigurations-Formular eine ValidationTextBox.
Ich würde ganz gerne bei Änderungen dieses Feldes darauf aufmerksam machen, das eine Änderung des Inhalts dies und das nach sich ziehen kann.
Also hab ich frohen Mutes ein onChange eingetragen und wollte dann eigentlich ein Popup erzeugen.
Ich habe zwei Fälle: einmal ein „einfaches“ Feld und einmal als Bestandteil eine List.
Bei List gibt ich ja ein onEdit, aber das ist ja eigentlich unspezifischen für alle Elemente der Zeile.
Gibt es da eine Möglichkeit, die über ein einfaches Label mit Warntext über / neben dem Feld hinausgeht?
Bei diesen Elementen ist kein onChange eingebaut, da sich die Werte mitunter sehr schnell ändern können.
nicht ganz schlüssig fand, weil man ja eventuell auch durch den den Focus-lost des Feldes (also Maus in anderem Feld) als abgeschlossene Änderungen erkennen könnte.
Der Focus-lost wäre im Widerspruch zu allen anderen Textfeldern in der Konsole, welche direkt auf Änderung reagieren. Beispielsweise alle Filter und dergleichen aktualisieren sich live. Und in PHP-Modulen bleibt die bisherige Begründung, dass sich diese Elemente schnell ändern können. Mit jedem neu eingetipptem Zeichen müsste eine Anfrage an den Server gemacht werden und das PHP-Skript dazu ausgeführt werden.
Aber im NumberSpinner Beitrag habe ich ja schon skizziert, dass man das mit einer Wartezeit umgehen könnte. Dazu haben wir auch schon ein Ticket, also verknüpfe ich das einfach auch mal hier. Das steht allerdings aktuell nicht priorisiert auf unserer Roadmap, daher möchte ich hier keine Versprechen zur zeitnahen Umsetzung machen.
Alles klar. Ist ja nicht dringend, aber im Zuge einer besseren Unterstützung der Anwender in Konfigurationsformularen war das für mich aufgekommen.
Ich habe das erstmal gelöst durch den erwähnten Zusatztext neben dem Eingabefeld
Die alten Werte der Propertys in einen Buffer speichern und im Applychanges vergleichen.
Oder, wenn es auch den Neustart überleben soll, zwei Attribute benutzen.
Ich löse es mit den Buffer so ähnlich für die ParentID, damit ich erkennen kann, das ich Statusänderung auf die alte ID unregistriere und auf den neuen Parent registriere.
Michael
Das halte ich hier sogar für die schönere Lösung. Wenn jemand im Feld etwas neues eintippt, dann die Änderungen aber verwirft, möchtest du die Token ja nicht löschen.
wäre es dann nicht schick, wenn man systemseitig die alten und die neuen Properties zur Verfügung hat und eine Stelle, wo die Daten vor dem Speichern geprüft werden können?
so eine „onSave“-Funktion des ganzen Formulars.
Hier könnte man dann die Konsistenz prüfen, ggfs Properties oder Attributes beeinflussen und ggfs. eine geregelte Kommunikation mit dem Benutzer führen (zB. PopupAlert) wie