Del via


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 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.

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.

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.

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