Formularhændelser (klientsidereference)
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
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
Hændelsen OnStageChange
Hændelsen OnStageSelected
Søgekontrolelementhændelser i Parature-videnbase
OnLoad-undergitterhændelse
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 CRM 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 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 279ca720-e304-4e51-b99f-91722431c2c8#BKMK_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.
Denne hændelse forekommer ikke i CRM til tablets fordi faner ikke kan udvides eller skjules.
Bemærk
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.
Denne hændelse forekommer ikke i CRM til tablets, fordi IFRAMES ikke er understøttet.
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.
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.
Søgekontrolelementhændelser i Parature-videnbase
Med Opdatering 1 til Microsoft Dynamics CRM Online 2015 blev der indført et nyt kontrolelement til søgning i videnbasen, som kun kan føjes til formularer i organisationer, der er integreret med Parature. Dette kontrolelement har to hændelser (OnResultOpened og OnSelection), som udviklere kan tildele hændelseshandlere til ved hjælp af programmering.Flere oplysninger:Søgekontrolelement til Parature-videnbasen (klientsidereference)
OnLoad-undergitterhændelse
I Opdatering 1 til CRM Online 2015 kan du knytte hændelseshandlere til hændelsen OnLoad i undergitre.Flere oplysninger:Skrive scripts til undergitre
Se også
Formularscripter - hurtig henvisning
Skrive kode til Microsoft Dynamics CRM 2015-formularer
Bruge Xrm.Page-objektmodel
Programmeringsreference på klientsiden
Skrive scripts til forretningsprocesforløb
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret