Freigeben über


Formular- und Feldereignisse verwenden

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Sie können Skripts für die Ereignisse OnLoad und OnSave für Formulare und OnChange-Ereignisse für jedes Feld hinzufügen. Registerkarten haben ein TabStateChange-Ereignis und IFRAMES haben ein OnReadyStateComplete-Ereignis. Handler für PreSearch-Ereignis und -Ereignisse, die durch die Geschäftsprozessflusssteuerung hervorgerufen wurden, können nur mit Methoden für die jeweiligen Steuerelemente hinzugefügt und entfernt werden.

Hinweis

Ereignisse im Formular sind für das Massenbearbeitungsformular deaktiviert. Das Massenbearbeitungsformular wird angezeigt, wenn mehrere Datensätze in einer Liste bearbeitet werden.

In diesem Thema

OnLoad-Ereignis

OnSave-Ereignis

OnChange-Ereignis

TabStateChange-Ereignis

OnReadyStateComplete-Ereignis

PreSearch-Ereignis

Geschäftsprozessflusssteuerungsereignisse

OnLoad-Ereignis

Das OnLoad-Ereignis tritt auf, nachdem das Formular geladen wurde. Es kann nicht das Fenster nicht am Laden hindern. Verwenden Sie das OnLoad-Ereignis, um die Daten im Formular für die Verwendung vorzubereiten. Aktionen, die ausgeführt werden können, indem das OnLoad-Ereignis verwendet wird, sind etwa die folgenden:

  • Durchführen von Berechnungen auf der Grundlage sich ändernder Werte.

  • Benachrichtigen eines Benutzer über eine Situation.

  • Deaktivieren von Feldern, die nicht aktualisiert werden sollen.

Weitere Informationen:OnLoad-Ereignis

OnSave-Ereignis

Das Ereignis OnSave entspricht nicht dem Standard-HTML-OnSubmit-Ereignis. Das OnSave-Ereignis tritt auf, wenn Folgendes zutrifft:

  • Der Benutzer klickt auf die Schaltfläche Schaltfläche "Automatisches Speichern" in der unteren rechten Ecke des Formulars, selbst wenn keine geänderten Daten gespeichert werden müssen.

  • Code führt die Xrm.Page.data.entity.Speichern-Methode aus, selbst wenn keine geänderten Daten gespeichert werden müssen.

  • Der Benutzer navigiert von dem Formular weg, und es befinden sich nicht gespeicherte Daten im Formular.

  • Bei aktivierter automatischer Speicherung 30 Sekunden nach der Änderung der Daten, wenn sich im Formular nicht gespeicherte Daten befinden.

  • Code führt die Xrm.Page.data.Speichern-Methode aus, und es befinden sich nicht gespeicherte Daten in dem Formular.

  • Code führt die Xrm.Page.data.refresh-Methode durch, wobei der Wert "True" als erster Parameter übergeben wird und sich nicht gespeicherte Daten in dem Formular befinden.

Sie können erkennen, welche Aktion zum Speichern des Formulars durchgeführt wurde, indem Sie die Methode getSaveMode in den Ereignisspeicherargumenten verwenden, die aus dem getEventArgs-Methodenausführungskontext abgerufen werden. Das Navigieren weg von einem Formular, wenn dieses nicht gespeicherte Daten enthält, entspricht dem "Speichern und schließen"-Verhalten in Formularen für Entitäten, die nicht aktualisiert wurden.

Das OnSave-Ereignis kann abgebrochen werden, um die Daten nicht zu speichern. Daher ist es sehr üblich, das OnSave.Ereignis zu verwenden, um Daten zu überprüfen.

Weitere Informationen:OnSave-Ereignis

OnChange-Ereignis

Das OnChange-Ereignis ist auf jedem Feld verfügbar. Im Allgemeinen erfordert das OnChange-Ereignis zwei Bedingungen:

  • Die Daten im Feld müssen geändert werden.

  • Das Feld muss den Fokus verlieren.

Hinweis

Es gibt eine Ausnahme zu diesem Verhalten, die für Zwei-Option Felder (boolesche Felder) gelten, die so formatiert sind, dass Optionsfelder oder Kontrollkästchen verwendet werden. Für diese Steuerlemente tritt das Ereignis sofort auf.

Dieses Ereignis tritt auch auf, wenn Daten auf dem Server abgerufen werden, um ein Feld zu aktualiseren, wenn das Formular aktualisiert wird, z. B. nachdem ein Datensatz gespeichert wird.

Die Verwendung der Xrm.Page.data.entity attribute fireOnChange-Methode führt ebenfalls dazu, dass dieses Ereignis auftritt.

Das OnChange-Ereignis tritt nicht auf, wenn das Feld programmgesteuert mithilfe der setValue-Methode geändert wird. Wenn Sie Ereignishandler für das Ereignis OnChange nach dem Einstellen des Werts ausführen möchten, müssen Sie die fireOnChange-Methode in Ihrem Code verwenden.

Nach dem Ereignis werden die Daten im Feld erneut validiert. Das bedeutet, dass Sie das Ereignis nicht verwenden können, um falsche Daten einzugeben.

Aktionen, die ausgeführt werden können, indem OnChange verwendet wird, sind etwa die folgenden:

  • Durchführen von Berechnungen zum Ändern anderer Felder auf der Grundlage sich ändernder Werte.

  • Ändern der Formatierung von Feldern, z. B. Telefonnummern.

Weitere Informationen:Feld-OnChange-Ereignis

TabStateChange-Ereignis

Dieses Ereignis tritt auf, wenn, wenn eine Registerkarte erweitert oder reduziert wird. Möglicherweise möchten Sie die Ausführung von Code verschieben, bis eine Registerkarte erweitert wurde.

Hinweis

Dieses Ereignis tritt nie in Microsoft Dynamics 365 für Tablets auf, da in diesem Client Registerkarten nicht reduziert werden.

Dieses Ereignis ist wichtig, wenn Sie Skripts verwenden, um die src-Eigenschaft eines IFRAME-Steuerelements zu ändern. Ein IFRAME wird aktualisiert, wenn die Registerkarte erweitert wird. Alle Änderungen an der Eigenschaft src werden entfernt. Wenn Sie mit der src-Eigenschaft eines IFRAMEs interagieren, fügen Sie immer diesen Code in das TabStateChange-Ereignis anstelle des Ereignisses Onload ein.

Weitere Informationen:Registerkarte TabStateChange-Ereignis

OnReadyStateComplete-Ereignis

Jedes Skript, das mit einem IFRAME interagiert, schlägt fehl, es sei denn, der Inhalt des IFRAMEs ist vollständig geladen. Dieses Ereignis bietet einen Ort vor ein Skript, das ausgeführt wird, sobald die Inhalte des IFRAMEs vollständig geladen sind.

Weitere Informationen:IFRAME OnReadyStateComplete-Ereignis

PreSearch-Ereignis

Mithilfe der addPreSearch-Methode können Sie einen Ereignishandler zu einem Suchattribut hinzufügen. Es gibt keine Benutzeroberfläche, um einen Ereignishandler manuell hinzuzufügen. Verwenden Sie dieses Ereignis mit den Methoden addCustomFilter-, addCustomView und setDefaultViewMethoden, um die Ansichten zu steuern, die geöffnet werden, wenn Benutzer nach einem Datensatz suchen, der als Wert für das Suchfeld festgelegt werden soll.

Weitere Informationen:Nachschlagesteuerungs-PreSearch-Ereignis

Geschäftsprozessflusssteuerungsereignisse

Microsoft Dynamics 365 (online und lokal) enthält drei Ereignisse für Benutzerinteraktion mit der Geschäftsprozessflusssteuerung.

Es ist gibt keien UI, um Skripts für diese Ereignisse zu registrieren. Verwenden Sie die folgenden Methoden in Funktionen im Formular OnLoad-Ereignis, um Ihre Funktionen für diese Ereignisse zu registrieren.

Jede dieser Methoden akzeptiert eine Funktion als Parameter, die dem Ereignishandler hinzugefügt oder daraus entfernt wird.Weitere Informationen:Möglichkeiten zum Verwalten von Ereignishandlern.

Siehe auch

Schreiben von Code für Microsoft Dynamics 365-Formulare
Verwenden des Xrm.Page-Objektmodells
Kurzübersicht zum Formularskripting
Verwendung von JavaScript mit Microsoft Dynamics 365
Cclientseitige Programmierreferenz
Formularereignisse (clíentseitige Referenz)
<events> (FormXml)

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright