HTML-formulier maken

Met Forms kunt u niet alleen PDF-formulieren en hulplijnen maken, maar ook interactieve HTML-formulieren genereren om gegevens vast te leggen. Als u HTML-formulieren wilt verspreiden, moet u de formulierontwerpen opslaan als XDP-bestand en de XDP-bestanden en eventuele ondersteunende bestanden, zoals afbeeldingen, in Forms gebruiken.

Omdat HTML-formulieren worden weergegeven in een clienttoepassing zoals een webbrowser, gelden voor deze formulieren de beperkingen van de omgeving van de clienttoepassing. Elk objecttype, behalve een handtekeningveld, kan in een HTML-formulier worden opgenomen. Het is echter mogelijk dat door de beperkingen van de clienttoepassing niet alle objecteigenschappen worden ondersteund.

Zie Transformation Reference voor een lijst met alle ondersteunde objecten en eigenschappen voor de afzonderlijke transformatietypen.

Opmerking: Bij het maken van een formulierontwerp voor HTML-uitvoer moet u zorgen dat alle velden, uitsluitingsgroepen en subformulieren unieke namen hebben.

Subformulieren gebruiken om HTML-pagina's te maken

Wanneer een formulierontwerp subformulieren bevat die worden uitgebreid, is het moeilijk om precies te voorspellen hoeveel pagina's tijdens de uitvoering in het resulterende formulier worden weergegeven. De instelling voor het paginaformaat wordt gebruikt om PDF-formulieren te pagineren, maar deze instelling wordt genegeerd wanneer een HTML-formulier wordt weergegeven omdat HTML-pagina's elke willekeurige lengte kunnen hebben.

Als u een HTML-formulier met meerdere pagina's wilt implementeren, kunt u subformulieren met één paginaniveau in uw formulierontwerp opnemen. U hebt één subformulier nodig voor elke pagina die u in het formulier wilt weergeven. Bij formulieren met stroombare elementen moet elk subformulier waarmee inhoud wordt gestroomd in een van de subformulieren op paginaniveau worden genest. Wanneer het formulier later wordt gegenereerd, wordt alle inhoud die bij hetzelfde subformulier hoort op dezelfde HTML-pagina weergegeven.

Opmerking: Als u een HTML-formulier met meerdere pagina's wilt implementeren, moet u een of meer knoppen opnemen in elk subformulier op paginaniveau, zodat gebruikers van de ene naar de andere pagina kunnen gaan. U moet een script schrijven waarmee de verwerking wordt uitgevoerd wanneer een gebruiker op een van deze knoppen klikt.

Hieronder volgt een voorbeeld van een formulierontwerp. Het formulierontwerp omvat drie subformulieren op paginaniveau: Subform_Page0, Subform_Page1 en Subform_LastPage. Als Forms een HTML-formulier zou weergeven dat is gebaseerd op dit formulierontwerp, zou er van elk subformulier automatisch één HTML-pagina worden gemaakt.

A.
Subform_Page0 positioneert inhoud en is zo ingesteld dat het de bijbehorende objecten eenmaal op de eerste pagina van het formulier weergeeft met de indeling van basispagina Page1.

B.
Subform_Page1 bevat een subformulier dat inhoud stroomt. Expanding_subform kan de weergave van de bijbehorende objecten net zo vaak herhalen als nodig is als reactie op samengevoegde gegevens. De inhoud van Subform_Page1 kan worden weergegeven op een of meer pagina's die de indeling van basispagina Page2 gebruiken, enzovoort.

C.
Subform_LastPage positioneert inhoud en is zo ingesteld dat de bijbehorende objecten op de laatst weergegeven pagina worden weergegeven met de indeling van basispagina Page3.

Wanneer Forms het HTML-formulier tijdens de uitvoering weergeeft, wordt het eerste subformulier op paginaniveau op de eerste pagina weergegeven. In dit voorbeeld kan de eerste pagina eruit zien zoals de hier afgebeelde pagina. De knop Volgende pagina moet worden opgenomen zodat gebruikers naar de volgende pagina van het formulier kunnen gaan.

De knop Volgende pagina onder in het formulier.

Ervan uitgaande dat ten minste één record beschikbaar is om tijdens de uitvoering te worden samengevoegd met Expanding_subform, ziet de tweede pagina er bijvoorbeeld uit zoals de volgende afgebeelde pagina. Ook hier is er weer een knop Volgende pagina nodig zodat gebruikers naar de volgende pagina van het formulier kunnen gaan. Misschien wilt u hier eveneens een knop Vorige pagina in het formulier opnemen.

Het derde subformulier, Subform_LastPage, wordt weergegeven op de laatste pagina van het gegenereerde formulier. In dit voorbeeld wordt de gebruiker met een bericht op de laatste pagina bedankt voor het invullen. Ook bevat de laatste pagina een knop Verzenden waarmee de ingevulde gegevens naar Forms kunnen worden verzonden.

Zie Een script schrijven om HTML-pagina's te verwerken voor informatie over het schrijven van een script waarmee gebruikers navigeren tussen twee HTML-pagina's.

Indelingsaspecten voor HTML-formulieren

Met behulp van de volgende informatie kunt u HTML-formulieren ontwerpen die visueel aantrekkelijk zijn en die de gebruiker gemakkelijk kan lezen:

  • Gebruik niet de randeigenschappen van een object om lijnen, vakken of rasters op een formulier te tekenen. In sommige browsers worden randen mogelijk niet zo weergegeven zoals ze in de voorbeeldweergave van Designer te zien zijn. Objecten kunnen gelaagd worden weergegeven of ze kunnen andere objecten van hun verwachte positie afduwen.

  • Als gebruikers werken met Microsoft Internet Explorer, kunt u het formulier ontwerpen met lijnen, rechthoeken en cirkels om de achtergrond te definiëren. Alle andere webbrowsers ondersteunen alleen verticale en horizontale lijnen, zodat de rechthoeken en cirkels van het formulierontwerp niet tijdens de uitvoering worden weergegeven.

  • Als gebruikers werken met Opera-browsers, moet u de velden enigszins groter ontwerpen dan dat u ze wilt hebben. Velden in Opera hebben altijd een verzonken binnenste rand. Alle randstijlen die u toepast, worden rond de buitenkant van deze rand geplaatst. Omdat de verzonken rand ruimte in het veld inneemt, wordt de bruikbare ruimte kleiner.

  • Geef statische tekst iets meer ruimte dan nodig lijkt om plaats te bieden aan de tekst. Designer en Acrobat maken mogelijk gebruik van een andere tekenspatiëring dan die van een specifieke webbrowser, waardoor sommige tekst wellicht niet correct wordt weergegeven.

Richtlijnen voor afbeeldingen bij het maken van HTML-formulieren

Houd rekening met de volgende richtlijnen bij het toevoegen van afbeeldingen aan formulierontwerpen die als HTML worden gegenereerd.

Ondersteunde afbeeldingsbestanden
U kunt elk afbeeldingsbestand (behalve GIF-bestanden met animaties) gebruiken voorzover dit mogelijk is bij de webbrowsers waarmee gebruikers HTML-formulieren weergeven.
Opmerking: Houd er rekening mee dat Internet Explorer de combinatie van knop- en afbeeldingsobjecten anders verwerkt dan de meeste andere webbrowsers. Als u bijvoorbeeld een knopobject maakt met een aangepast transparant uiterlijk en dat boven op een afbeeldingsobject plaatst, kan Internet Explorer de resulterende HTML-code mogelijk incorrect renderen waardoor gebruikers niet met een muis op de knop kunnen klikken. Zie Omgaan met de beperkingen van webbrowsers.

Sluit afbeeldingen niet in het formulier in
Forms ondersteunt ingesloten afbeeldingen niet. Gebruik in plaats daarvan relatieve padnamen om afbeeldingsbestanden in te voegen. Het pad kan bijvoorbeeld relatief zijn ten opzichte van de hoofdmap voor Forms -formulieren, die standaard de opslagplaats voor formulieren is. De afbeeldingenmap in het volgende pad bevindt zich op hetzelfde niveau als de formulierenmap:
../images/graphic.jpg

Omgaan met de beperkingen van webbrowsers

Als u verwacht dat bepaalde gebruikers browsers zullen gebruiken die beperkte mogelijkheden hebben, moet u nagaan welke eventuele beperkingen een browser kan hebben om uw formulieren daarop af te stemmen. Aan de andere kant hebt u meer mogelijkheden bij de indeling van uw formulierontwerp, als in uw organisatie browsers worden gebruikt die XHTML ondersteunen.

Wanneer u formulieren ontwerpt die in diverse browsers zullen worden weergegeven, dient u met het volgende rekening te houden:

  • Geef een paginaformaat op waarmee wordt gegarandeerd dat bij een HTML4-transformatie (voor Netscape Navigator 4.7.x) alle statische objecten goed worden weergegeven. Anders wordt er alleen voldoende ruimte voor velden gereserveerd wanneer het formulier wordt gegenereerd.

  • Neem een marge van ten minste 0,6 cm op aan de bovenkant en linkerkant van het formulier. Alles wat zich boven en links van deze marge bevindt, is niet zichtbaar.

  • Objecten of gedeelten van objecten die worden getekend met negatieve rastercoördinaten worden niet weergegeven. Als u bijvoorbeeld een object tekent dat begint op coördinaat 0,75 op de verticale as, wordt het gedeelte van het object vanaf 0,75 tot de binnenkant van een marge van 0,6 cm niet weergegeven.

  • Neem voldoende ruimte rond velden op om rekening te houden met een minder goede weergave in minder geavanceerde browsers. In sommige browsers bijvoorbeeld worden selectievakjes en keuzerondjes groter weergegeven dan in het ontwerp.

  • Het is mogelijk dat bij een formulier in minder geavanceerde browsers de linkeruitlijning van gegevens niet behouden blijft. Dit is met name het geval als gebruikers de standaardfonts van hun browser vervangen.

  • Internet Explorer verwerkt de combinatie van knop- en afbeeldingsobjecten anders dan de meeste andere webbrowsers. Als u bijvoorbeeld een knopobject maakt met een aangepast transparant uiterlijk en dat boven op een afbeeldingsobject plaatst, kan Internet Explorer de resulterende HTML-code mogelijk incorrect renderen waardoor gebruikers niet met een muis op de knop kunnen klikken. Het is wel mogelijk om met de tab-toets naar de knop te gaan en dan met de Enter-toets of spatiebalk in te drukken. De verwerkingsfout wordt veroorzaakt doordat de grootte van het knopobject afhankelijk is van de lengte van het bijschrift. De hoeveelheid lege ruimte in het bijschriftgebied moet zo groot zijn dat de omvang van de knop groter is dan die van de afbeelding. U kunt dit probleem oplossen door de bijschrifttekst te vervangen door voldoende spaties zodat gebruikers met een muis op de knop kunnen klikken.

Een voorbeeld van een HTML-formulier weergeven

Als u de werking van een formulierontwerp met Forms wilt testen en op de opdrachtknoppen in een formulierontwerp wilt instellen, moet u weten welke URL wordt gekoppeld aan de aanvragen voor Forms. De ontwikkelaar van de aangepaste toepassing kent de URL.

Als u een voorbeeld van een HTML-formulier wilt bekijken, moet u het formulierontwerp beschikbaar stellen voor Forms zodat Forms het formulierontwerp kan opslaan. U kunt het formulier later aanvragen via de URL die is gekoppeld aan Forms. Gebruik een webbrowser of een van de doelclienttoepassingen (zoals een schermlezer) om het formulier te openen.

Waar worden berekeningen en scripts uitgevoerd

U kunt in een formulierontwerp berekeningen en scripts opnemen voor het uitvoeren van berekeningen, methoden of bewerkingen wanneer er een objectgebeurtenis plaatsvindt tijdens runtime. Gebeurtenissen treden op tijdens runtime wanneer de gebruiker de handeling uitvoert die aan de gebeurtenis is gekoppeld. Door een script te definiëren, kunt u de methoden aanroepen die door een object worden ondersteund en de bijbehorende eigenschappen bekijken of instellen.

In Designer worden scripts en berekeningen standaard op de client uitgevoerd. De standaardverwerkingslocatie is gedefinieerd op het tabblad Voorbeeld in het dialoogvenster Formuliereigenschappen (selecteer Bestand > Formuliereigenschappen). Als u de standaardverwerkingslocatie wilt overschrijven, geeft u in de Scripteditor een andere verwerkingslocatie op door de optie Uitvoeren op te gebruiken wanneer u een script of berekening aan een object koppelt.

Als u met Forms werkt, kan de verwerking op de client, de server of op beide plaatsvinden. Wanneer u instelt dat een script/berekening moet worden uitgevoerd op de client en server, probeert mogelijk zowel de client als de server het script/de berekening uit te voeren. Forms probeert altijd om het script/de berekening te verwerken als de client dat niet kan. Als u aangeeft dat scripts en berekeningen op de server moeten worden uitgevoerd, worden de scripts en berekeningen uitgevoerd via Forms, worden de resultaten weer samengevoegd met het formulier en worden beide naar de client geretourneerd.

Clientscripts en -berekeningen worden op de client uitgevoerd. Bij het maken van PDF-formulieren voor Acrobat of Adobe Reader moet alle verwerking plaatsvinden op de client. Als de client het script of de berekening echter niet kan uitvoeren, wordt geprobeerd dit via Forms te doen.

Als er een clientscript in een HTML-formulier moet worden uitgevoerd, moet er aan de volgende voorwaarden worden voldaan:

  • De clienttoepassing moet Microsoft Internet Explorer 5.x, Netscape 6.0 of hoger, of Opera 5 of hoger zijn.

  • JavaScript kan alleen worden gebruikt om scripts te schrijven (u kunt geen FormCalc-berekeningen in het formulierontwerp opnemen).

  • JavaScript moet in de clienttoepassing zijn ingeschakeld.

Verwerking op de client en server

Verwerking kan plaatsvinden op de client, de server of beide. De werking van scripts en berekeningen is verschillend al naar gelang deze worden uitgevoerd op de client of op de server.

Verwerking op de client

Wanneer is ingesteld dat verwerking moet plaatsvinden op de client, worden scripts en berekeningen tijdens runtime in realtime uitgevoerd op de computer van de gebruiker. De code en gedeclareerde variabelen worden vrijwel meteen nadat het formulier is geopend beschikbaar. Deze informatie blijft beschikbaar en de toestand van de gegevens wordt gehandhaafd totdat een van de volgende situaties zich voordoet:

  • Er wordt een ander script uitgevoerd.

  • Een ander script verwijdert het gekoppelde object.

  • Het formulier wordt gesloten.

Verwerking op de server

Met Forms kunt u scripts en berekeningen uitvoeren die u op de client niet kunt uitvoeren. Als u bijvoorbeeld een formulier wilt voorbewerken, hebt u mogelijk een script nodig om verbinding te maken met een database of webservice die wellicht niet beschikbaar is op de client. Als een script of berekening wordt uitgevoerd in Forms, gebeurt dit tijdens het genereren van het formulier. Er blijven geen codes of variabelen achter nadat de verwerking is voltooid. Wanneer u variabelen aan een script of berekening toevoegt, zijn deze dus slechts geldig gedurende de verwerking.

Opmerking: als u ervoor kiest dat de HTML4-transformatie Netscape Navigator 4.7.x ondersteunt, wordt alle JavaScript die bestemd is om op de client te worden uitgevoerd in plaats daarvan automatisch op de server uitgevoerd.

Gebeurtenissen waarnaar u kunt verwijzen in een script of berekening

Serverscripts

Acrobat en Adobe Reader herkennen alle gebeurtenissen die door Designer worden ondersteund. De clienttoepassing stuurt door de gebruiker geïnitieerde gebeurtenissen naar Forms voor verwerking op de server. Er zijn geen andere typen gebeurtenissen die serverzijdeverwerking in werking stellen. Forms voert serverzijdeverwerking uit elke keer dat er een formulier wordt weergegeven, er servergebeurtenissen vanaf de client worden geïnitieerd of er verzonden gegevens worden verwerkt.

Wanneer u aangeeft dat een script of berekening op de server moet worden uitgevoerd, zorgen de volgende door de gebruiker geïnitieerde gebeurtenissen ervoor dat Acrobat of Adobe Reader de gebeurtenis naar Forms stuurt voor verwerking:

  • exit

  • mouseEnter

  • mouseExit

  • change

  • mouseUp

  • mouseDown

  • click

Tijdens de verwerking van gebeurtenissen worden door Forms alle scripts en berekeningen uitgevoerd die zijn bedoeld om op de server te worden uitgevoerd, en wordt het resultaat opnieuw met het formulier samengevoegd voordat dit naar de clienttoepassing wordt geretourneerd.

De volgende gebeurtenissen worden door Acrobat en Adobe Reader genegeerd als er in een serverscript of -berekening naar wordt verwezen:

  • initialize

  • calculate

  • validate

  • docReady

  • docClose

De volgende tabel bevat de gebeurtenissen waarnaar u alleen in serverscripts en -berekeningen kunt verwijzen. Deze gebeurtenissen worden niet herkend door HTML-clienttoepassingen.

Gebeurtenis

Meer informatie

form:ready

gebeurtenis form:ready

layout:ready

gebeurtenis layout:ready

Wanneer een script is geschreven om op de server te worden uitgevoerd, is de gebeurtenis click (van een gewone knop) de enige gebeurtenis die ertoe kan leiden dat een HTML-client verwerking op de server initieert. Forms voegt tijdens de verwerking de resultaten opnieuw samen in het HTML-formulier voordat het formulier naar de clienttoepassing wordt geretourneerd. Alle andere gebeurtenissen worden door de HTML-client genegeerd en worden alleen uitgevoerd wanneer Forms verwerking op de server uitvoert.

Clientscripts

Voor scripts en berekeningen op de client worden in Acrobat en A1dobe Reader alle gebeurtenissen ondersteund die u kunt definiëren in Designer.

Niet al deze gebeurtenissen worden echter door HTML-clients herkend. Als u één formulierontwerp gebruikt om zowel PDF- als HTML-formulieren te maken, mag er door de clientscripts alleen worden verwezen naar een subset met ondersteunde gebeurtenissen.

Als er in een clientscript wordt verwezen naar een gebeurtenis die niet door de HTML-client wordt herkend, wordt het script niet verder uitgevoerd vanaf het punt waar er naar de niet-herkende gebeurtenis wordt verwezen.

U kunt de volgende gebeurtenissen gebruiken om clientscripts vanuit HTML-formulieren uit te voeren.

Gebeurtenis

Meer informatie

initialize

gebeurtenis initialize

enter

gebeurtenis initialize

exit

gebeurtenis initialize

calculate

gebeurtenis calculate

Opmerking: alleen in HTML-formulieren worden bij het verlaten van een veld activiteiten uitgevoerd die door berekeningsgebeurtenissen worden gestart. De verwerking wordt niet gestart wanneer een gebruiker een veldwaarde wijzigt, maar u kunt op dit punt desgewenst expliciet de verwerking aanroepen met de methode execCalculate().

validate

gebeurtenis validate

change

gebeurtenis change

Opmerking: Deze gebeurtenis wordt in PDF- en HTML-formulieren alleen ondersteund voor vervolgkeuzelijsten en keuzelijsten.

mouseUp

gebeurtenis mouseUp

mouseDown

gebeurtenis mouseDown

click

gebeurtenis click

Opmerking: De gebeurtenis click kan niet voor verzendknoppen in PDF- of HTML-formulieren worden gebruikt. Gebruik in plaats daarvan de gebeurtenis preSubmit.

preSubmit

gebeurtenis preSubmit

Opmerking: Deze gebeurtenis wordt in PDF- en HTML-formulieren alleen ondersteund voor verzendknoppen. Wanneer u de gebeurtenis preSubmit gebruikt om een clientscript uit te voeren, vindt de verwerking plaats voordat de gegevens worden verzonden. Als met de gebeurtenis een script op de server wordt uitgevoerd, vindt de verwerking plaats terwijl de gegevens worden verzonden.

Overzicht van ondersteunde eigenschappen, methoden en gebeurtenissen

Opmerking: Hulplijnen zijn afgekeurd.
Acrobate en Adobe Reader bieden ondersteuning voor het volledige scala aan eigenschappen, methoden en gebeurtenissen, met uitzondering van een aantal methoden voor hostobjecten. HTML-clients herkennen een beperkt aantal van deze eigenschappen, methoden en gebeurtenissen.

Als u één formulierontwerp gebruikt om zowel PDF- als HTML-formulieren te maken, kan er door de scripts worden verwezen naar een subset met de ondersteunde eigenschappen, methoden en gebeurtenissen.

In de volgende tabel wordt een overzicht gegeven van de clienttoepassingen die de diverse eigenschappen, methoden en gebeurtenissen herkennen waarnaar u kunt verwijzen in client- en/of serverscripts.

Hostobject - eigenschappen

Acrobat / Adobe Reader

HTML of hulplijnclient

currentPage (alleen-lezen)

Ja

Ja

numPages (alleen-lezen)

Ja

Ja

name (alleen-lezen)

Ja

Ja

validationsEnabled

Ja

Ja

calculationsEnabled

Ja

Ja

Hostobject - methoden

Acrobat / Adobe Reader

HTML of hulplijnclient

pageUp

Ja

Alleen client en server.

pageDown

Ja

Alleen client en server.

exportData

Ja

Nee

importData

Ja

Nee

gotoURL

Alleen client

Alleen client

messageBox

Alleen client

Alleen client

resetData

Ja

Ja

setFocus

Alleen client

Alleen client

Hostobject - gebeurtenissen

Acrobat / Adobe Reader

HTML of hulplijnclient

docReady

Ja

Alleen server.

docClose

Ja

Alleen server.

postPrint

Ja

Nee

postSave

Ja

Nee

prePrint)

Ja

Nee

preSave

Ja

Nee

Formulierobject - methoden

Acrobat / Adobe Reader

HTML of hulplijnclient

resolveNodes

Ja

Ja

resolveNode

Ja

Ja

execCalculate

Ja

Ja

execValidate

Ja

Ja

execInitialize

Ja

Ja

Subformulierobject - eigenschappen

Acrobat / Adobe Reader

HTML of hulplijnclient

name (alleen-lezen)

Ja

Ja

index (alleen-lezen)

Ja

Ja

x

Ja

Ja

y

Ja

Ja

w

Ja

Ja

h

Ja

Ja

validationMessage

Ja

Ja

Subformulierobject - methoden

Acrobat / Adobe Reader

HTML of hulplijnclient

resolveNodes

Ja

Ja

resolveNode

Ja

Ja

execCalculate

Ja

Ja

execValidate

Ja

Ja

execInitialize

Ja

Ja

Subformulierobject - gebeurtenissen

Acrobat / Adobe Reader

HTML of hulplijnclient

enter

Ja

Ja

exit

Ja

Ja

initialize

Ja

Ja

validate

Ja

Ja

calculate

Ja

Ja

Veldobjecten - eigenschappen

Acrobat / Adobe Reader

HTML of hulplijnclient

name (alleen-lezen)

Ja

Ja

index (alleen-lezen)

Ja

Ja

rawValue

Ja

Ja

formattedValue

Zie Opmerking 1.

Ja

x

Ja

Ja

y

Ja

Ja

w

Ja

Ja

h

Ja

Ja

presence

Ja

Ja

mandatory

Ja

Ja

fontColor

Ja

Ja

fillColor

Ja

Ja

borderColor

Ja

Ja

borderWidth

Ja

Ja

validationMessage

Ja

Ja

Veldobjecten - methoden

Acrobat / Adobe Reader

HTML of hulplijnclient

execCalculate

Ja

Ja

execInitialize

Ja

Ja

execValidate

Ja

Ja

addItem

Ja, alleen voor vervolgkeuzelijsten en keuzelijsten

Ja, alleen voor vervolgkeuzelijsten en keuzelijsten

clearItems

Ja, alleen voor vervolgkeuzelijsten en keuzelijsten

Ja, alleen voor vervolgkeuzelijsten en keuzelijsten

resolveNodes

Ja

Ja

resolveNode

Ja

Ja

Veldobjecten - gebeurtenissen

Acrobat / Adobe Reader

HTML of hulplijnclient

exit

Ja

Ja

enter

Ja

Ja

calculate

Ja

Ja

validate

Ja

Ja

initialize

Ja

Ja

click

Ja, maar niet voor de knop Verzenden. Zie Opmerking 2.

Ja, maar niet voor de knop Verzenden. Zie Opmerking 2.

change

Ja

Ja, alleen voor vervolgkeuzelijsten en keuzelijsten

mouseUp

Ja

Ja

mouseDown

Ja

Ja

preSubmit

Ja

Ja, alleen voor verzendknoppen.

Opmerking 1: Voor keuzelijsten retourneert formattedValue geen tekst

Opmerking 2: De gebeurtenis click wordt niet ondersteund voor verzendknoppen op PDF- of HTML-formulieren. Gebruik in plaats hiervan de gebeurtenis preSubmit.

Object ScriptObject

Acrobat / Adobe Reader

HTML of hulplijnclient

Zie Opmerking 3.

Ja

Ja

Opmerking 3: Het object ScriptObject kan met elk ander script worden gemaakt en gebruikt. Zie·Een scriptfragment maken.

Gebeurtenisobject - eigenschappen

Acrobat / Adobe Reader

HTML of hulplijnclient

prevText

Ja

Nee

prevContentType

Ja

Nee

newText

Ja

Nee

newContentType

Ja

Nee

fullText

Ja

Nee

commitKey

Ja

Nee

keyDown

Ja

Nee

modifier

Ja

Nee

name

Ja

Nee

selEnd

Ja

Nee

selStart

Ja

Nee

shift

Ja

Nee

target

Ja

Nee

change

Ja

Nee

Opmerking 1: Voor keuzelijsten retourneert formattedValue geen tekst

Opmerking 2: De gebeurtenis click wordt niet ondersteund voor verzendknoppen op PDF-formulieren. Gebruik in plaats hiervan de gebeurtenis preSubmit.

Opmerking 3: Het object ScriptObject kan met elk ander script worden gemaakt en gebruikt. Zie·Een scriptfragment maken.

Expressies die worden ondersteund door HTML-clients

Een vereenvoudigde subset met verwijzingssyntaxisexpressies wordt ondersteund door HTML-clients:

  • FormCalc-berekeningen zijn niet geldig in HTML-browsers en worden verwijderd voordat het formulier in HTML wordt gegenereerd.

  • De syntaxis voor het weglatingsteken (...) wordt niet ondersteund.

  • Wanneer u een clientscript schrijft voor HTML-formulieren, moet u de JavaScript-expressie resolveNode gebruiken om knooppunten in de hiërarchie te lokaliseren. Het script kan de hiërarchie niet doorlopen door gebruik te maken van objecten. De volgende expressie bijvoorbeeld wordt niet ondersteund:

        xfa.form.subform1.TextEdit1

De volgende expressie wordt ondersteund:

xfa.form.resolveNode("subform1.TextEdit1")

Er kunnen ongeldige veldverwijzingen worden gebruikt om nevengeschikte velden in de hiërarchie te lokaliseren.

Opmerking: als u ervoor kiest dat de HTML4-transformatie Netscape Navigator 4.7.x ondersteunt, wordt alle JavaScript die bestemd is om op de client te worden uitgevoerd in plaats daarvan automatisch op de server uitgevoerd.

Een script schrijven om HTML-pagina's te verwerken

Wanneer hetzelfde formulierontwerp wordt gebruikt om zowel PDF- als HTML-formulieren te genereren, wordt de instelling van het paginaformaat gebruikt om PDF-formulieren te pagineren, maar wordt deze instelling genegeerd wanneer een HTML-formulier wordt gegenereerd. Wanneer ontwerpers van formulieren rekening willen houden met de verschillen tussen PDF- en HTML-pagina's, kunnen zij subformulieren op paginaniveau gebruiken om kunstmatige HTML-pagina's in te stellen. Als HTML-pagina's op deze manier worden ingesteld, is er JavaScript nodig om gebruikers de mogelijkheid te geven tijdens runtime van de ene naar de andere HTML-pagina te gaan.

U kunt de methoden pageUp() en pageDown() gebruiken om gebruikers in staat te stellen van de ene naar de andere HTML-pagina te gaan met een gewone opdrachtknop die de verwerking start wanneer de gebeurtenis click van de knop plaatsvindt. Voor zowel PDF- als HTML-formulieren moet de verwerking worden uitgevoerd op de client en server.

De methoden pageUp() and pageDown() werken bij subformulieren op paginaniveau. Stel bijvoorbeeld dat de ontwerper van het formulier de volgende structuur heeft ingesteld in het formulierontwerp:

A.
Dit subformulier op paginaniveau hoort bij de eerste pagina.

B.
Dit subformulier op paginaniveau hoort bij de tweede pagina.

C.
Dit subformulier op paginaniveau hoort bij de derde pagina.

Als de gebruiker de HTML-pagina zou weergeven die hoort bij Subform_Page0, zou het aanroepen van xfa.host.pageDown() ertoe leiden dat Subform_Page1 in de browser werd weergegeven. Op dezelfde manier zou het aanroepen van xfa.host.pageUp() terwijl Subform_Page1 wordt weergegeven, ertoe leiden dat Subform_Page0 in de browser wordt weergegeven. Paginanummers zouden aan de volgende eigenschappen worden toegewezen om deze HTML-pagina's te manipuleren:

xfa.host.currentPage = 0     //moves to the first page 
xfa.host.currentPage = 1     //moves to the second page 
xfa.host.currentPage = 2     //moves to the third page 
xfa.host.currentPage = xfa.host.numPages -1     //moves to the last page

Terwijl gebruikers van de ene naar de andere HTML-pagina gaan, blijft de status van de gegevens behouden maar de presentatiestatus van een object (bijvoorbeeld de achtergrondkleur van een veld) kan bij het overgaan op een andere pagina veranderen. U kunt presentatie-instellingen tussen pagina's behouden met verborgen velden die statuswaarden bevatten voor de diverse instellingen en opdrachtknoppen waarmee gebruikers naar een vorige of volgende pagina in het formulier kunnen gaan. Uw script zou de presentatiestatus van velden bijwerken op basis van de waarden in de verborgen velden. Wanneer een gebruiker op een van de opdrachtknoppen klikt, kan de gebeurtenis calculate voor de knop worden gebruikt om het script uit te voeren.

Bij de volgende JavaScript-code bijvoorbeeld blijft de opvulkleur van een veld behouden op basis van de waarde van een veld genaamd hiddenField. Het script wordt gestart wanneer de gebeurtenis calculate plaatsvindt.

If (hiddenField.rawValue == 1) 
this.fillColor = "255,0,0" 
else 
this.fillColor = "0,255,0"
Opmerking: wanneer scripts in een HTML-formulier op de client worden uitgevoerd, kunt u alleen een script gebruiken voor het huidige subformulier of de huidige HTML-pagina.