Skapa en händelsehanterare

Obs!:  Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

När du skriver skript för ett Microsoft Office InfoPath-formulärmall skriva du vanligtvis kod i något av formuläret mall eller data verifiering händelsehanterare. En händelsehanterare är funktionskod i ett InfoPath-formulärmall som svarar på en användare eller en ändring av XML-data i ett formulär. Hur du skapar en händelsehanterare beror på vilken typ av händelse som du vill använda. Det är viktigt att skapa händelsehanterare i designläge eftersom InfoPath automatiskt skapar händelsehanterare deklarationer i script-fil och gör poster i formulärdefinitionsfilen (xsf) som stöder en formulärmall och använda dessa händelsehanterare.

Obs!: Men det är möjligt att skapa händelsehanterare manuellt i script-fil och sedan aktivera dem genom att manuellt lägga till lämpliga element i XSF-filen, rekommenderas det inte. Om ett ogiltigt ändringar görs XSF-filen, kan formulärmallen inte användas.

I följande tabell visas var och en av händelsehanterare InfoPath och stegvisa instruktioner för hur du skapar dem. När du skapar en händelsehanterare för en formulärmall startar på Microsoft Skriptredigeraren (MSE) och markören placeras i koden för den händelsehanteraren. Du nu kan skriva skriptet för händelsehanterare. Detaljerad information om InfoPath händelser och händelsehanterare finns i Referensinformation för InfoPath-utvecklare, som inte finns i hjälpen.

Händelsehanterare

Beskrivning

Steg för att skapa

OnAfterChange

Den här händelsen körs när en användare ändrar värdet i den angivna kontrollen som är bunden till ett fält. Du kan till exempel visa ett anpassat åtgärdsfönster HTML när en användare markerar ett objekt i en listruta i verktygsfältet. Den här händelsen körs efter händelsen OnValidate .

Högerklicka på en kontroll i en formulärmall eller ett fält i åtgärdsfönstret Datakälla, peka Programming på snabbmenyn och klicka På efter Ändringshändelse.

OnAfterImport

Den här händelsen körs när användaren har infogats flera formulär i ett formulär.

Lägga till manuellt OnAfterImport händelsehanterare deklaration direkt script-fil med hjälp av Microsoft Skriptredigeraren. Den här händelsehanterare kan inte skapas i designläge.

OnBeforeChange

Den här händelsen körs när en användare ändrar värdet i en kontroll och innan värdet läggs till i det angivna fältet som är bunden till kontrollen. Du kan till exempel förhindra att en användare från att lägga till en extra rad innan du fyller i den sista raden i en upprepande tabell.

Högerklicka på en kontroll i en formulärmall eller ett fält i åtgärdsfönstret Datakälla, peka på Programming på snabbmenyn och klicka På före händelsen.

Vid klickning

Den här händelsen körs när användaren klickar på en knapp som är associerad med den här händelsen. Den här händelsen är tillgänglig när du lägger till en knapp i formulärmallen. Du kan till exempel utföra komplicerade beräkningar med hjälp av värdena i fälten i den huvudsakliga datakällan när användaren klickar på knappen.

Dubbelklicka på knappkontrollen och klicka sedan på Redigera formulärets kod på fliken Allmänt i dialogrutan Egenskaper.

OnContextChange

Den här händelsen körs när fokus ändras i formuläret. Den här evenemanget går till exempel när en användare navigerar från en textruta till en datumväljare eller när en användare växlar vy. Den här händelsen inträffar när alla händelser har inträffat.

Peka på programmeringVerktyg-menyn och sedan klicka På kontexten ändra händelsen.

OnLoad

Den här händelsen körs varje gång en användare skapar ett nytt formulär eller öppnar ett befintligt formulär som baseras på din formulärmall. Till exempel kan du kopiera en lista över objekt från en sekundär datakälla till huvudsakliga datakällan när en användare öppnar formuläret.

Peka på programmeringVerktyg-menyn och klicka sedan på På händelsen.

OnMergeRequest

Den här händelsen körs när formulär som baseras på formulärmallen sammanfogas. Du kan till exempel visa antalet formulär som har sammanfogats för att ge en användare en status under sammanslagning.

Klicka på FormuläralternativVerktyg-menyn. Klicka på Avancerat i listan kategori. Markera kryssrutan Koppla med anpassad kod under Koppla formulär, och klicka sedan på Redigera.

OnSaveRequest

Den här händelsen körs när en användare sparar ett formulär som baseras på din formulärmall. Du kan till exempel spara formulär som baseras på formulärmallen till mer än en plats när en användare sparar formuläret. InfoPath lägger till två ytterligare rader med kod i den här händelsen: en linje som sparas i formuläret och en annan rad som meddelar om InfoPath har sparats i formuläret.

Klicka på FormuläralternativVerktyg-menyn. Klicka på Öppna och spara i listan kategori. Markera kryssrutan Spara med anpassad kod under funktioner för Spara, och klicka sedan på Redigera.

OnSign

Den här händelsen körs när en användare gäller en digital signatur i ett formulär. Till exempel kan du lägga till ytterligare data till den digitala signaturen i ett formulär för utgiftsrapport när en användare loggar den.

Peka på ProgrammingVerktyg-menyn och klicka sedan På logga händelsen.

OnSubmitRequest

Den här händelsen körs när en användare skickar hans eller hennes formulärdata. Du kan till exempel skicka formulärdata till en säker webbtjänst när användaren klickar på SkickaArkiv-menyn. Eftersom InfoPath inte stöder en dataanslutning till en säker webbtjänst, måste du lägga till en anpassad dataanslutning som fungerar med din säker webbtjänst.

Klicka på Skicka alternativVerktyg-menyn. Markera kryssrutan Tillåt användare att skicka det här formuläret, klicka på Utför anpassad åtgärd med kod för och klicka sedan på Redigera kod.

OnSwitchView

Den här händelsen körs när en användare öppnar ett formulär som baseras på din formulärmall eller växlar till en annan vy i formuläret. När en användare växlar till en specifik vy och kan du skapa ett e-postmeddelande som innehåller data från fält i formulärets primära datakälla.

Klicka på ProgrammingVerktyg-menyn och sedan klicka På Växla vy händelsen.

OnValidate

Den här händelsen körs när en användare ändrar värdet i en kontroll som är bunden till ett fält. När användaren ändrar värdet i en viss kontroll, beräknar du ett nytt värde för en annan kontroll med hjälp av det nummer som användaren angav och ett tal som är i skriptet. Den här händelsen inträffar när OnBeforeChange händelsehanterare körs.

Högerklicka på en kontroll i en formulärmall eller ett fält i åtgärdsfönstret Datakälla, peka på Programming på snabbmenyn och klicka På efter Validera händelse.

OnVersionUpgrade

Den här händelsen körs när en användare öppnar ett befintligt formulär och versionsnummer för en formulärmall som används av det befintliga formuläret är äldre än versionsnumret för en formulärmall i dialogrutan Publicera plats. När en användare öppnar ett befintligt formulär, kontrollerar InfoPath versionsnumret av formulärmallen som är associerad med det befintliga formuläret. Om formulärmallen har ett nyare versionsnummer, körs InfoPath händelsehanterare OnVersion när användaren öppnar det befintliga formuläret. Anta till exempel att lägga till ett nytt fält i en befintlig formulärmall och publicera det igen, och du vill använda det nya fältet ska läggas till den primära datakällan om en användare öppnar ett befintligt formulär. Den här händelsen lägger till det nya fältet huvudsakliga datakällan när en användare öppnar ett befintligt formulär.

Klicka på FormuläralternativVerktyg-menyn. Klicka på versionshantering i listan kategori. Klicka på Använd anpassad händelse i listan på version uppgradera och klicka sedan på Redigera.

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×