Opprette en hendelsesbehandling

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Når du skriver skript for en Microsoft Office InfoPath-skjemamal, skriver du vanligvis kode i en av skjemaet mal eller data validering hendelsesbehandling. En hendelsesbehandling er funksjonskoden i en InfoPath-skjemamal som svarer på en brukerhandling eller en endring i XML-dataene i et skjema. Hvordan du oppretter en hendelsesbehandling, avhenger av hvilken type hendelse du vil bruke. Det er viktig å opprette hendelsesbehandling i utformingsmodus fordi InfoPath automatisk oppretter deklarasjonene for hendelsesbehandling i skriptfilen og legger til oppføringer i den (XSF) skjemadefinisjonsfilen som gjør det mulig å bruke hendelsesbehandling en skjemamal.

Merknad: Selv om det er mulig å opprette en hendelsesbehandling manuelt i skriptfilen og deretter aktivere den ved å legge til elementer manuelt i XSF-filen, anbefales det ikke. Hvis det blir gjort en ugyldig endring i .xsf-filen, kan det være at skjemamalen ikke kan brukes.

Tabellen nedenfor viser hver av hendelsesbehandling i InfoPath og trinnene for å opprette dem. Når du oppretter en hendelsesbehandling for en skjemamal, startes Microsoft Script Editor (MSE) og plasserer markøren i koden for denne hendelsesbehandling. Deretter kan du skrive skriptet for hendelsesbehandling. For detaljert informasjon om InfoPath hendelser og hendelsesbehandling, kan du se InfoPath Developer's Reference, som er tilgjengelig i Hjelp for MSE.

Event handler

Description

Steps for creating

OnAfterChange

Denne hendelsen kjører når en bruker endrer verdien i den angitte kontrollen som er bundet til et felt. Du kan for eksempel vise en egendefinert oppgaverute for HTML når en bruker velger et element i en listekontroll. Denne hendelsen kjører etter hendelsen OnValidate .

Høyreklikk en kontroll i skjemamalen eller et felt i oppgaveruten Datakilde, velger du programmering på hurtigmenyen, og klikk deretter Hendelsen.

OnAfterImport

Denne hendelsen kjører når brukeren fletter klarer flere skjemaer til ett skjema.

Legge til manuelt i deklarasjon for hendelsesbehandling OnAfterImport direkte til script-fil ved hjelp av Microsoft Skriptredigering. Denne hendelsesbehandling kan ikke opprettes i utformingsmodus.

OnBeforeChange

Denne hendelsen kjører når en bruker endrer verdien i en kontroll, og før verdien er lagt til det angitte feltet som er bundet til kontrollen. Du kan for eksempel hindre en bruker fra å legge til en ekstra rad før du fyller ut den siste raden i en gjentatt tabell.

Høyreklikk en kontroll i skjemamalen eller et felt i oppgaveruten Datakilde, velger du programmering på hurtigmenyen, og klikk deretter På før endring-hendelse.

OnClick

Denne hendelsen kjører når brukeren klikker en knapp som er tilknyttet denne hendelsen. Denne hendelsen er tilgjengelig når du har lagt til en knapp i skjemamalen. Du kan for eksempel utføre en kompleks beregning ved hjelp av verdiene i feltene i den primære datakilden når en bruker klikker knappen.

Dobbeltklikk knappen, og klikk deretter Rediger skjema-kode i kategorien Generelt i dialogboksen Egenskaper.

OnContextChange

Denne hendelsen kjører når fokus endres i skjemaet. Denne hendelsen kjører når en bruker går fra en tekstboks til en datovelger, eller når en bruker bytter visning. Denne hendelsen oppstår etter at alle hendelser som andre har oppstått.

Velg programmeringVerktøy-menyen, og klikk Hendelsen kontekst endringen.

OnLoad

Denne hendelsen kjører hver gang en bruker oppretter et nytt skjema eller åpner et eksisterende skjema som er basert på skjemamalen. Du kan for eksempel kopiere en liste over elementer fra en sekundær datakilde til den primære datakilden når en bruker åpner skjemaet.

Velg programmeringVerktøy-menyen, og klikk deretter Hendelsen ved lasting.

OnMergeRequest

Denne hendelsen kjøres når slås sammen skjemaer som er basert på skjemamalen. Du kan for eksempel vise hvor mange skjemaer som ble flettet for å gi en bruker statusen under flettingen.

Klikk Alternativer for skjemaVerktøy-menyen. Klikk Avansert i kategori-listen. Merk av for Flett ved hjelp av egendefinert kode under Slå sammen skjemaer, og klikk deretter Rediger.

OnSaveRequest

Denne hendelsen kjører når en bruker lagrer et skjema basert på skjemamalen. Du kan for eksempel lagre basert på denne skjemamalen til mer enn ett sted når en bruker lagrer skjemaet. InfoPath legger til to ekstra kodelinjer i denne hendelsen: en linje som lagrer skjemaet og en annen linje som forteller deg hvis InfoPath lagret skjemaet.

Klikk Alternativer for skjemaVerktøy-menyen. Klikk Åpne og lagre i kategori-listen. Merk av for Lagre ved hjelp av egendefinert kode under Virkemåte ved lagring, og klikk deretter Rediger.

OnSign

Denne hendelsen kjøres når en bruker angir en digital signatur i et skjema. Du kan for eksempel legge til ytterligere data til den digitale signaturen i et utgiftsrapportskjema når en bruker logger den.

Velg programmeringVerktøy-menyen, og klikk Hendelsen Logg.

OnSubmitRequest

Denne hendelsen kjører når en bruker sender hans eller hennes skjemadata. Du kan for eksempel sende skjemadata til en sikker webtjeneste når brukeren klikker Sendfil-menyen. Siden InfoPath ikke støtter en datatilkobling til en sikker webtjeneste, må du legge til en egendefinert datatilkobling som fungerer med din sikker webtjeneste.

Klikk SendealternativerVerktøy-menyen. Merk av for Tillat brukere å sende dette skjemaet, klikk Utfør egendefinert handling ved hjelp av kode, og klikk deretter Rediger kode.

OnSwitchView

Denne hendelsen kjører når en bruker åpner et skjema basert på skjemamalen eller bytter til en annen visning i skjemaet. Når en bruker bytter til en bestemt visning, kan du for eksempel opprette en e-postmelding som inneholder data fra feltene i skjemaets primære datakilden.

Klikk programmeringVerktøy-menyen, og klikk Hendelsen visning.

OnValidate

Denne hendelsen kjører når en bruker endrer verdien i en kontroll som er bundet til et felt. Når brukeren endrer verdien i en bestemt kontroll, kan du for eksempel beregne en ny verdi for en annen kontroll ved hjelp av nummeret som brukeren skrev inn, og et tall som er i skriptet. Denne hendelsen oppstår når du har kjørt OnBeforeChange hendelsesbehandling.

Høyreklikk en kontroll i skjemamalen eller et felt i oppgaveruten Datakilde, velger du programmering på hurtigmenyen, og klikk Etter validere hendelsen.

OnVersionUpgrade

Denne hendelsen kjører når en bruker åpner et eksisterende skjema og versjonsnummeret til skjemamalen brukes av det eksisterende skjemaet er eldre enn versjonsnummeret til skjemamalen i dialogboksen publiseringsplassering. Når en bruker åpner et eksisterende skjema, kontrollerer InfoPath versjonsnummeret til skjemamalen som er forbundet med det eksisterende skjemaet. Hvis skjemamalen har et nytt versjonsnummer, kjøres InfoPath hendelsesbehandling OnVersion når brukeren åpner det eksisterende skjemaet. Anta for eksempel at du legger til et nytt felt i en eksisterende skjemamal og publisere den på nytt, og du vil bruke det nye feltet som skal legges til den primære datakilden hvis en bruker åpner et eksisterende skjema. Denne hendelsen legger til det nye feltet i den primære datakilden når en bruker åpner et eksisterende skjema.

Klikk Alternativer for skjemaVerktøy-menyen. Klikk versjonskontroll i kategori-listen. Klikk Bruk egendefinert hendelse i listen på versjon oppgradere, og klikk deretter Rediger.

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×