Bruge formular- og felthændelser
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Du kan tilføje scripts for OnLoad- og OnSave-hændelser for formularer og OnChange-hændelser for hvert felt. Fanerne har en TabStateChange-hændelse, og IFRAMES har en OnReadyStateComplete-hændelse. Hændelseshandlere for hændelsen PreSearch og hændelser, der udløses af kontrolelementet for forretningsprocesforløbet, kan kun tilføjes og fjernes ved hjælp af metoder for de respektive kontrolelementer.
Bemærk
Hændelser i formularen er deaktiveret for formularen til masseredigering. Masseredigeringsformularen vises, når der redigeres flere poster på en liste.
Dette emne indeholder
OnLoad-hændelse
Hændelsen OnSave
Hændelsen OnChange
TabStateChange-hændelsen
OnReadyStateComplete-hændelse
Hændelsen PreSearch
Åbn kontrolelementhændelser for forretningsprocesforløbet
OnLoad-hændelse
Hændelsen OnLoad indtræffer, når formularen er indlæst. Den kan ikke forhindre, at vinduet indlæses. Brug hændelsen OnLoad til at forberede dataene i formularen til brug. Handlinger, der kan udføres ved hjælp af hændelsen OnLoad, omfatter følgende:
Foretage beregninger baseret på ændring af værdier.
Gøre en bruger opmærksom på en situation.
Deaktivere felter, der ikke skal opdateres.
Flere oplysninger:OnLoad-hændelse
Hændelsen OnSave
Hændelsen OnSave svarer ikke til den almindelige HTML-OnSubmit-hændelse. 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.
Du kan registrere, hvilken handling der blev udført for at gemme formularen, ved hjælp af getSaveMode-metoden i lagring af hændelsesargumenter, der er hentet fra getEventArgs-metodens kørselskontekst. At navigere væk fra en formular, når den indeholder ikke-gemte data, svarer til funktionen "Gem og luk" i formularer for objekter, der ikke er blevet opdateret.
Hændelsen OnSave kan annulleres, hvis du vil forhindre, at data gemmes. Derfor er det meget almindeligt at bruge hændelsen OnSave til at validere data.
Flere oplysninger:Hændelsen OnSave
Hændelsen OnChange
Hændelsen OnChange er tilgængelig i alle felter. Generelt kræver hændelsen OnChange, at to betingelser er sande:
Dataene i feltet skal ændres.
Feltet skal miste fokus.
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. Hændelsen indtræffer umiddelbart for disse kontrolelementer.
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 fireOnChange-metoden i din kode.
Efter hændelsen skal data i feltet valideres igen. Det betyder, at du ikke kan bruge hændelsen til at indtaste ugyldige data.
Handlinger, der kan udføres ved hjælp af OnChange, omfatter følgende:
Foretage beregninger for at ændre andre felter, der er baseret på ændring af værdier.
Ændre formateringen af felter som f.eks. telefonnumre.
Flere oplysninger:OnChange-hændelse i felt
TabStateChange-hændelsen
Denne hændelse indtræffer, når en fane udvides eller skjules. Du kan udskyde udførelsen af koden, indtil en fane er udvidet.
Bemærk
Denne hændelse forekommer aldrig i Microsoft Dynamics 365 til tablets, da fanerne i denne klient ikke kan skjules.
Denne hændelse er vigtig, hvis du bruger scriptet til at ændre src-egenskaben for et IFRAME-kontrolelement. En IFRAME opdateres, når fanen udvides. Eventuelle ændringer af src-egenskaben vil blive fjernet. Hvis du arbejder med src-egenskaben for en IFRAME, skal du altid medtage denne kode i hændelsen TabStateChange i stedet for hændelsen Onload.
Flere oplysninger:TabStateChange-hændelse på fane
OnReadyStateComplete-hændelse
De scripts, der interagerer med en IFRAME, mislykkes, medmindre indholdet af IFRAME har afsluttet indlæsning. Denne hændelse er et sted for at inkludere script, der køres, så snart indholdet af IFRAME har afsluttet indlæsning.
Flere oplysninger:IFRAME-hændelsen OnReadyStateComplete
Hændelsen PreSearch
Brug addPreSearch-metoden til at føje en hændelseshandler til et kontrolelement for en opslagsattribut. Der er ingen brugergrænseflade til manuelt at tilføje en hændelseshandler. Brug denne hændelse med metoderne addCustomFilter, addCustomView og setDefaultView til kontrol af visningerne, der åbnes, når brugerne søger efter en post til at angive som værdi for et opslagsfelt.
Flere oplysninger:Hændelsen PreSearch for Opslagskontrolelement
Åbn kontrolelementhændelser for forretningsprocesforløbet
Microsoft Dynamics 365 (online og i det lokale miljø) indeholder tre hændelser til brugerinteraktion med kontrolelementer for forretningsprocesforløbet.
OnStageChange
Opstår, når en fase ændres.Flere oplysninger:Hændelsen OnStageChange.OnStageSelected
Opstår, når en fase markeres.Flere oplysninger:Hændelsen OnStageSelected.OnProcessStatusChange
Forekommer, når status for en procesforekomst ændres.Flere oplysninger:OnProcessStatusChange-hændelse.
Der er ingen brugergrænseflade til at registrere scripts for disse begivenheder. Brug følgende metoder i funktioner, der er registreret i formularhændelsen OnLoad, til at registrere dine funktioner for disse begivenheder.
Xrm.Page.data.process.addOnStageChange
Xrm.Page.data.process.addOnStageSelected
Xrm.Page.data.process.removeOnStageChange
Xrm.Page.data.process.removeOnStageSelected
Xrm.Page.data.process.addOnProcessStatusChange
Xrm.Page.data.process.removeOnProcessStatusChange
Hver af disse metoder accepterer en funktion som en parameter, der kan tilføjes eller fjernes fra hændelseshandleren.Flere oplysninger:Metoder til at administrere hændelseshandlere.
Se også
Skriv kode til Microsoft Dynamics 365-formularer
Bruge Xrm.Page-objektmodel
Formularscripter - hurtig henvisning
Bruge JavaScript med Microsoft Dynamics 365
Programmeringsreference på klientsiden
Formularhændelser (klientsidereference)
<events> (FormXml)
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret