Del via


Formularhændelser (klientsidereference)

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Al klientsidekode initieres af hændelser. I Microsoft Dynamics 365 tilknytter du en bestemt funktion i et JavaScript-bibliotek, der skal udføres, når bestemte hændelser indtræffer.

Alle formularhændelser har en brugergrænseflade, som du bruger til at angive en eller flere hændelseshandere. Hver hændelseshandler angiver en enkelt funktion i et JavaScript-bibliotek samt eventuelle parametre, der kan overføres til funktionen.

Hændelser

OnLoad-hændelse

Hændelsen OnSave

OnChange-hændelse i felt

TabStateChange-hændelse på fane

IFRAME-hændelsen OnReadyStateComplete

Hændelsen PreSearch for Opslagskontrolelement

OnProcessStatusChange-hændelse

Hændelsen OnStageChange

Hændelsen OnStageSelected

Aktivér hændelser for kontrolelement til søgning i videnbase

Skrivebeskyttet OnLoad-hændelse i undergitter

Redigerbare gitterhændelser

OnLoad-hændelse

Hændelsen OnLoad indtræffer, når formularen er indlæst. Den kan ikke forhindre, at vinduet indlæses. Brug OnLoad-hændelsen til at anvende logik om, hvordan formularen skal vises, til at angive egenskaber for felter og interagere med andre sideelementer.

Når forbindelsen til klienten Microsoft Dynamics 365 til tablets afbrydes, er OnLoad-hændelsen den eneste hændelse, der indtræffer.

Bemærk

Formularer til Opdaterede objekter genindlæser ikke siden, når den første lagring har oprettet en post, eller ved eventuelle efterfølgende lagringer. Derfor indtræffer OnLoad-hændelsen kun under første indlæsning af formularen.

Hændelsen OnSave

Hændelsen OnSave indtræffer, når:

  • Brugeren klikker på knappen Knappen Auto-gem i nederste højre hjørne af formularen, selvom der er ingen ændrede data, der skal gemmes.

  • Kode udføre metoden Xrm.Page.data.entity.Gem, selvom der er ingen ændrede data, der skal gemmes.

  • Brugeren navigerer væk fra formularen, og der er ugemte data i formularen.

  • Med automatisk lagring aktiveret, 30 sekunder efter data er ændret, og der er ugemte data i formularen.

  • Kode udfører Xrm.Page.data.Gem-metoden, og der er ugemte data i formularen.

  • Kode udfører Xrm.Page.data.opdater-metoden og overfører en sand værdi som den første parameter, og der er ugemte data i formularen.

Brug metoden getSaveMode til at afgøre, hvilken knap der blev klikket på for at udføre lagringen.

Du kan annullere lagringshandlingen ved hjælp af metoden preventDefault i hændelsesargumentobjektet. Metoden preventDefault, der er tilgængelig ved hjælp af metoden getEventArgs, som er en del af udførelseskonteksten. Du skal konfigurere formularhændelseshandleren til at overføre kørselskonteksten. Du kan finde flere oplysninger under Bruge konteksten for udførelse og formularens hændelsespipeline.

OnChange-hændelse i felt

Hændelsen OnChange indtræffer som regel, når dataene i et formularfelt er blevet ændret, og fokus er tabt.

Bemærk

Der er en undtagelse til denne funktionsmåde, som vedrører booleske felter med to indstillinger, der er formateret til at bruge alternativknapper eller afkrydsningsfelter. I disse tilfælde indtræffer hændelsen med det samme.

Denne hændelsen indtræffer også, når der hentes ændringer på serveren til at opdatere et felt, når formularen opdateres, f.eks når en post gemmes.

Brugen af attributmetoden Xrm.Page.data.entity.fireOnChange medfører også, at denne hændelse opstår.

Hændelsen OnChange indtræffer ikke, hvis feltet ændres via programmering ved hjælp af setValue-metoden. Hvis du vil have hændelseshandlere for hændelsen OnChange til at køre, når du har indstillet værdien, skal du bruge attributmetoden Xrm.Page.data.entity.fireOnChange i din kode.

Alle felter understøtter hændelsen OnChange. Dataene i feltet valideres før og efter OnChange-hændelsen.

Bemærk

Selvom feltet Status understøtter hændelsen OnChange for feltet, er feltet er skrivebeskyttet i formularen, så hændelsen ikke kan indtræffer via brugerindgreb. Et andet script kan få denne hændelse til at indtræffe ved at anvende fireOnChange-metoden på feltet.

TabStateChange-hændelse på fane

Hændelsen TabStateChange indtræffer, når DisplayState på fanen ændres på grund af brugerindgreb, eller når setDisplayState-metoden anvendes i kode. Brug denne hændelse, hvis du vil ændre src-egenskaben for en IFRAME i fanen.

Bemærk

Denne hændelse understøttes ikke for Dynamics 365-mobilklienter (telefoner og tablets), fordi faner ikke udvides eller skjules.

Som i de mobile Dynamics 365-klienter udvides eller skjules fanerne ikke i den interaktive tjenestehub, men TabStateChange-hændelsen indtræffer, når brugeren flytter fra én fane til en anden i den interaktive tjenestehub.

Hvis du indstiller IFrame-egenskabensrc i hændelsen OnLoad for en IFRAME i en skjult fane, overskrives værdien, når fanen udvides.

IFRAME-hændelsen OnReadyStateComplete

Hændelsen OnReadyStateComplete angiver, at indholdet af IFRAME er indlæst og kan åbnes i kode. Brug denne hændelse, når du refererer til IFRAME-kontrolelementer i dine scripts.

Bemærk

Denne hændelse understøttes ikke for Dynamics 365 til telefoner og den interaktive tjenestehub.

Hændelsen PreSearch for Opslagskontrolelement

Opslagskontrolelementet har en PreSearch-hændelse, der indtræffer, lige før kontrolelementet åbner en dialogboks til søgning efter poster. Der er ingen brugergrænseflade til angivelse af hændelseshandlere for denne hændelse. Du skal bruge metoden addPreSearch og removePreSearch på opslagskontrolelementet til at tilføje eller fjerne hændelseshandlere for denne hændelse.

Brug denne hændelse med andre Opslagskontrolelementmetoder og -hændelser for at ændre de resultater, der vises i et opslag baseret på de aktuelle formulardata, lige før opslagskontrolelementet viser søgeresultater, som en bruger kan vælge imellem.

OnProcessStatusChange-hændelse

Denne hændelse forekommer, når status for en procesforekomst ændres. Brug metoden Xrm.Page.data.process.addOnProcessStatusChange til at tilføje hændelseshandlere for denne hændelse, og metoden Xrm.Page.data.process.removeOnProcessStatusChange til at fjerne dem.Flere oplysninger:Skrive scripts til forretningsprocesforløb.

Bemærk

Denne hændelse blev introduceret i December 2016 – opdatering til Dynamics 365 (online og det lokale miljø).

Hændelsen OnStageChange

Denne hændelse indstræffer, når fasen for et forretningsprocesforløb-kontrolelement ændres. Denne hændelse indtræffer, når brugeren klikker på knappen Næste fase eller Gå til forrige fase i brugergrænsefladen, eller når en udvikler anvender metoden Xrm.Page.data.process.moveNext eller Xrm.Page.data.process.movePrevious. Du kan ikke annullere faseændringen ved hjælp af kode i en handler til denne hændelse.

Et objekt til udførelse af kontekst overføres til hændelseshandlere til denne hændelse. Du kan bruge funktionen getEventArgs til at hente et objekt, der har følgende metoder:

  • getDirection
    Returnerer en streng, der er enten "next" eller "previous" for at vise faseændringens retning.

  • getStage
    Returnerer et faseobjekt. Undtagen når navigationen flyttes til et nyt objekt, repræsenterer den returnerede fase destinationsfaseobjektet, det vil sige den næste aktive fase. Hvis navigationen flyttes til et nyt objekt, er fasen den fase, der navigeres fra, det vil sige det forrige aktive faseobjekt.Flere oplysninger:Fasemetoder.

Brug metoden Xrm.Page.data.process.addOnStageChange til at tilføje hændelseshandlere for denne hændelse, og metoden Xrm.Page.data.process.removeOnStageChange til at fjerne dem.Flere oplysninger:Skrive scripts til forretningsprocesforløb.

Hændelsen OnStageSelected

Denne hændelse indstræffer, når en fase for et forretningsprocesforløb-kontrolelement vælges. Du kan ikke annullere fasevalget ved hjælp af kode i en handler til denne hændelse.

Et objekt til udførelse af kontekst overføres til hændelseshandlere til denne hændelse. Du kan bruge funktionen getEventArgs til at hente et objekt, der har følgende metoder:

  • getStage
    Returnerer et faseobjekt, der repræsenterer den valgte fase.Flere oplysninger:Fasemetoder.

Brug metoden Xrm.Page.data.process.addOnStageSelected til at tilføje hændelseshandlere for denne hændelse, og metoden Xrm.Page.data.process.removeOnStageSelected til at fjerne dem.Flere oplysninger:Skrive scripts til forretningsprocesforløb.

Aktivér hændelser for kontrolelement til søgning i videnbase

Kontrolelementet til søgning i videnbasen kan kun føjes til formularer for organisationer, hvor vidensstyringsfunktionen er aktiveret. Dette kontrolelement har to hændelser (OnResultOpened og OnSelection), som udviklere kan tildele hændelseshandlere til ved hjælp af programmering.Flere oplysninger:Kontrolelement til søgning i videnbasen (klientsidereference)

Skrivebeskyttet OnLoad-hændelse i undergitter

Knyt hændelseshandlere til hændelsen OnLoad i undergitre.Flere oplysninger:Skrive scripts til undergitre

Redigerbare gitterhændelser

Knyt hændelseshandlere til redigerbare gitterhændelser.Flere oplysninger:Redigerbare gitterobjekter og -metoder (klientsidereference)

Se også

Formularscripter - hurtig henvisning
Skriv kode til Microsoft Dynamics 365-formularer
Bruge Xrm.Page-objektmodel
Programmeringsreference på klientsiden
Skrive scripts til forretningsprocesforløb

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret