Delen via


Formulier- en veldgebeurtenissen gebruiken

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics CRM 2015

U kunt scripts voor de gebeurtenissen OnLoad en OnSave voor formulieren en OnChange-gebeurtenissen voor elk veld toevoegen. Tabbladen hebben een TabStateChange-gebeurtenis en IFRAMES hebben een OnReadyStateComplete-gebeurtenis. Handlers voor de gebeurtenis PreSearch en gebeurtenissen die worden geactiveerd door bedrijfsprocesstroombesturing kunnen alleen worden toegevoegd en verwijderd met methoden voor de respectievelijke besturingselementen.

Notitie

Gebeurtenissen in het formulier worden uitgeschakeld voor het bulkbewerkingformulier. Het bulkbewerkingformulier wordt weergegeven wanneer er meerdere records in een lijst worden bewerkt.

In dit onderwerp

Gebeurtenis OnLoad

Gebeurtenis OnSave

Gebeurtenis OnChange

Gebeurtenis Tabstatechange

Gebeurtenis OnReadyStateComplete

PreSearch-gebeurtenis

Gebeurtenissen van de bedrijfsprocesstroombesturing

Gebeurtenis OnLoad

De OnLoad-gebeurtenis vindt plaats nadat het formulier is geladen. De gebeurtenis kan niet voorkomen dat het venster wordt geladen. Gebruik de OnLoad-gebeurtenis voor de gegevens in het formulier voor gebruik voor te bereiden. Acties die kunnen worden uitgevoerd met de OnLoad-gebeurtenis zijn onder andere:

  • Voer berekeningen uit op basis van veranderende waarden.

  • Waarschuw een gebruiker voor een situatie.

  • Velden uitschakelen die niet mogen worden bijgewerkt.

Meer informatie:Gebeurtenis OnLoad

Gebeurtenis OnSave

De OnSave-gebeurtenis komt niet overeen met de standaard HTML-gebeurtenis OnSubmit. De OnSave-gebeurtenis vindt plaats wanneer:

  • De gebruiker klikt op de knop Knop voor automatisch opslaan in de rechterbenedenhoek van het formulier, zelfs wanneer er geen gewijzigde gegevens zijn om op te slaan.

  • Code voert de methode Xrm.Page.data.entity.Opslaan uit, zelfs wanneer er geen gewijzigde gegevens zijn om op te slaan.

  • De gebruiker navigeert weg van het formulier en er zijn niet-opgeslagen gegevens in het formulier.

  • Als automatisch opslaan is ingeschakeld, 30 seconden nadat gegevens zijn gewijzigd en er zijn niet-opgeslagen gegevens in het formulier.

  • Code voert de methode Xrm.Page.data.Opslaan uit en er zijn niet-opgeslagen gegevens in het formulier.

  • Code voert de methode Xrm.Page.data.vernieuwen uit door een waarde te geven als eerste parameter en er zijn niet-opgeslagen gegevens in het formulier.

U kunt detecteren welke actie is uitgevoerd om het formulier op te slaan met behulp van de getSaveMode-methode in de gebeurtenisargumenten opslaan die zijn opgehaald uit de context methode-uitvoering 279ca720-e304-4e51-b99f-91722431c2c8#BKMK_GetEventArgs. Het verlaten van een formulier wanneer het niet-opgeslagen gegevens bevat, komt overeen met het "Opslaan en sluiten"-gedrag in formulieren voor entiteiten die niet zijn bijgewerkt.

De OnSave-gebeurtenis kan worden geannuleerd om te voorkomen dat gegevens worden opgeslagen. Daardoor komt het zeer vaak voor dat de OnSave-gebeurtenis wordt gebruikt om gegevens te valideren.

Meer informatie:Gebeurtenis OnSave

Gebeurtenis OnChange

De gebeurtenis OnChange is beschikbaar voor elk veld. Over het algemeen moeten er voor de OnChange-gebeurtenis twee voorwaarden waar zijn:

  • De gegevens in het veld moeten worden gewijzigd.

  • Het veld moet de focus kwijtraken.

Notitie

Is er een uitzondering op gedrag dat van toepassing is op (Booleaanse) velden met twee opties die zo zijn opgemaakt dat ze keuzerondjes of selectievakjes gebruikt. Voor deze besturingselementen treedt de gebeurtenis direct op.

Deze gebeurtenis vindt ook plaats wanneer de gewijzigde gegevens offline op de server worden opgehaald voor een veld als het formulier is vernieuwd, zoals bij te werken nadat een record is opgeslagen.

Gebruik van de methode Xrm.Page.data.entity kenmerk.fireOnChange zorgt er ook voor dat deze gebeurtenis zich voordoet.

De OnChange-gebeurtenis vindt niet plaats wanneer het veld via een programma wordt gewijzigd met de setValue-methode. Als u wilt dat de gebeurtenishandlers voor de OnChange-gebeurtenis worden uitgevoerd nadat u de waarde hebt ingesteld, moet u de methode fireOnChange gebruiken in uw code.

Na de gebeurtenis worden de gegevens in het veld opnieuw gevalideerd. Dit betekent dat u de gebeurtenis niet kunt gebruiken om ongeldige gebeurtenis in te voeren.

Acties die kunnen worden uitgevoerd met OnChange zijn onder andere:

Meer informatie:Veldgebeurtenis OnChange

Gebeurtenis Tabstatechange

Deze gebeurtenis treedt op wanneer een tabblad wordt uitgevouwen of samengevouwen. U wilt wellicht de uitvoering van code uitstellen tot een tabblad wordt uitgevouwen.

Notitie

Deze gebeurtenis vindt nooit plaats in Microsoft Dynamics CRM voor tablets omdat tabbladden in die client niet worden samengevouwen.

Deze gebeurtenis is belangrijk als u een script gebruikt om de src-eigenschap van een IFRAME-besturingselement te wijzigen. Een IFRAME wordt vernieuwd wanneer het tabblad wordt uitgevouwen. Eventuele wijzigingen aan de eigenschap src worden verwijderd. Als u met de src-eigenschap van een IFRAME werkt, moet u deze code altijd opnemen in de TabStateChange-gebeurtenis in plaats van de gebeurtenis Onload.

Meer informatie:Tabbladgebeurtenis TabStateChange

Gebeurtenis OnReadyStateComplete

Elk script dat werkt met een IFRAME mislukt, tenzij de inhoud van de IFRAME klaar zijn met laden. Deze gebeurtenis biedt een locatie om script toe te voegen dat wordt uitgevoerd zodra de inhoud van de IFRAME klaar is met laden.

Notitie

Deze gebeurtenis vindt nooit plaats in Microsoft Dynamics CRM voor tablets omdat IFRAMEs niet worden weergegeven.

Meer informatie:IFRAME-gebeurtenis OnReadyStateComplete

PreSearch-gebeurtenis

Gebruik de addPreSearch-methode om een gebeurtenishandler aan een besturingselement voor een opzoekkenmerk toe te voegen. Er is geen gebruikersinterface om een gebeurtenismanager handmatig toe te voegen. Gebruik deze gebeurtenis met de methoden addCustomFilter, addCustomView en setDefaultView om de geopende weergaven te beheren als personen een record zoeken om als waarde in te stellen van een opzoekveld.

Meer informatie:Gebeurtenis PreSearch van opzoekbesturingselement

Gebeurtenissen van de bedrijfsprocesstroombesturing

Microsoft Dynamics CRM 2015 en Microsoft Dynamics CRM Online 2015 Update bevat twee gebeurtenissen voor gebruikersinteractie met de bedrijfsprocesstroombesturing.

Er is geen gebruikersinterface om scripts voor deze gebeurtenissen te registreren. Gebruik de volgende methoden in functies die in de formuliergebeurtenis OnLoad zijn geregistreerd, om uw functies voor deze gebeurtenissen te registreren.

Elk van deze methoden accepteert een functie als parameter om de gebeurtenishandler toe te voegen of te verwijderen.Meer informatie:Methoden om gebeurtenishandlers te beheren.

Zie ook

Code schrijven voor Microsoft Dynamics CRM 2015-formulieren
Het objectmodel Xrm.Page gebruiken
Beknopte naslag voor het opstellen van formulierscripts
JavaScript gebruiken met Microsoft Dynamics CRM 2015
Programmeerreferentie op de client
Formuliergebeurtenissen (clientreferentie)
<events> (FormXml)

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht