HTML フォームの作成

Forms では、PDF フォームおよびガイドだけでなく、データ取得用のインタラクティブ HTML フォームもレンダリングできます。HTML フォームを配布するには、フォームデザインを XDP ファイルとして保存し、XDP ファイルおよび画像などのその他のすべてのサポートファイルを Forms にデプロイする必要があります。

HTML フォームは Web ブラウザーなどのクライアントアプリケーションで表示されるので、クライアントアプリケーション環境の制約事項に左右されます。署名フィールドを除くすべての種類のオブジェクトを、HTML フォームに含めることができます。ただし、クライアントアプリケーションの制約事項によっては、すべてのオブジェクトプロパティがサポートされているとは限りません。

各種変換でサポートされているすべてのオブジェクトとプロパティの一覧については、『 Transformation Reference 』を参照してください。

注意: HTML 出力のフォームデザインを作成している場合は、すべてのフィールド、排他グループ、サブフォームの名前が一意であることを確認する必要があります。

サブフォームを使用した HTML ページの作成

フォームデザインに拡大可能なサブフォームが含まれている場合、実行時に作成されるフォームに何ページレンダリングされるかを正確に知ることは困難です。ページサイズ設定は PDF フォームのページ番号付けに使用されますが、HTML フォームのレンダリング時は HTML ページの長さが任意となるので無視されます。

複数ページの HTML フォームのコンセプトを実現するには、ページレベルのサブフォームを 1 つずつ、フォームデザインに組み込みます。サブフォームは、フォームにレンダリングするページごとに 1 つ必要です。フロー要素を含むフォームの場合は、1 つのページレベルサブフォームの内部に、コンテンツをフローするサブフォームを 1 つずつネストする必要があります。その後でフォームをレンダリングすれば、同じページレベルのサブフォームに入っているすべてのコンテンツが同じ HTML ページに表示されます。

注意: 複数ページの HTML フォームのコンセプトを実現するには、ユーザーがページからページに移動できるよう、それぞれのページレベルサブフォームにボタンを組み込む必要があります。フォーム開発者は、ユーザーがボタンのいずれかをクリックするたびに処理を行うスクリプトを作成する必要があります。

例として、次の図に示すフォームデザインを考えてみましょう。このフォームデザインには、Subform_Page0、Subform_Page1 および Subform_LastPage の 3 つのページレベルサブフォームが含まれています。Forms がこのフォームデザインに基づいて HTML フォームをレンダリングする場合には、それぞれのページレベルのサブフォームから自動的に HTML ページが 1 つずつ作成されます。

フルサイズのグラフィックを表示
A.
Subform_Page0 はコンテンツの位置を固定します。マスターページ Page 1 のレイアウトを使用して、フォームの最初のページにいったんオブジェクトを表示するよう設定されています。

B.
Subform_Page1 には、コンテンツをフローするサブフォームが入っています。Expanding_subform は、結合されたデータに合わせてオブジェクトのレンダリングを必要な回数だけ繰り返すことができます。Subform_Page1 のコンテンツは、マスターページ Page2_etc のレイアウトを使用してページに表示することができます。

C.
Subform_LastPage はコンテンツの位置を固定します。マスターページ Page3 のレイアウトを使用して、最後にレンダリングされたページにオブジェクトを表示するよう設定されています。

Forms が実行時に HTML フォームをレンダリングすると、最初のページレベルサブフォームが最初のページに表示されます。このサンプルの目的上、最初のページは下に示すページと同じような外観となります。ユーザーがフォームの次のページに進めるよう、「次のページ」ボタンを組み込む必要があります。

実行時に Expanding_subform との結合で使用できるレコードが最低 1 つあると仮定すると、2 番目のページは次に示すサンプルページのようになります。ここでも、ユーザーがフォームの次のページに進めるよう、「次のページ」ボタンが必要です。また、フォームに「前のページ」ボタンを組み込むように選択することもできます。

3 番目のページレベルサブフォーム Subform_LastPage は、レンダリングされたフォームの最後のページに表示されます。この例では、最後のページにはフォームの入力に対するユーザーへの謝意のメッセージと、ユーザーが入力したデータを Forms に送信するための「送信」ボタンが入っています。

ユーザーが HTML ページ間を移動できるようにするスクリプトの作成方法については、「 HTML ページを処理するスクリプトの作成方法 」を参照してください。

HTML フォームのレイアウトの考慮点

以下の情報は、見栄えが良く読みやすい HTML フォームのデザインに役立ちます。

  • フォームに線、ボックス、グリッドを描画するときに、オブジェクトの境界線プロパティを使用しないでください。ブラウザーによっては、Designer のプレビューで表示されるとおりに境界線が表示されないことがあります。また、オブジェクトが重なって表示されたり、他のオブジェクトを本来の位置から押しのけたりする場合があります。

  • Microsoft Internet Explorer を使用する場合は、背景を定義するときに、線、長方形および円を使用してフォームをデザインできます。その他のブラウザーでは、垂直および水平の線のみを使用できます。フォームデザインで長方形や円を実行時に表示することはできません。

  • Opera ブラウザーを使用している場合は、フィールドを意図するよりも少し大きめにデザインします。Opera では、常にフィールドの境界線の内側がくぼんでいます。適用した境界線スタイルはすべて、この境界線の外周りに配置します。その理由は、くぼみのある境界線でフィールドのスペースが使用され、入力可能領域が小さくなるからです。

  • スタティックテキストは、テキストを収容するのに必要と思われる大きさよりも少し大きめに作成します。Designer と Acrobat のカーニング方法は、特定の Web ブラウザーのカーニング方法とは異なる場合があり、テキストによっては正しく表示されないことがあります。

HTML フォーム作成のための画像のガイドライン

HTML としてレンダリングされるフォームデザインに画像を追加するときは、次のガイドラインを考慮してください。

サポートされる画像ファイル
ユーザーが HTML フォームの表示に使用する Web ブラウザーの制約事項に従うことを前提として、任意の画像ファイル(GIF アニメーションファイルは除く)を組み込むことができます。
注意: Internet Explorer では、ボタンと画像オブジェクトの組み合わせを他の Web ブラウザーとは異なる方法で処理することに注意してください。例えば、カスタムの透明な外観を持つボタンオブジェクトを作成して画像オブジェクトの上に配置すると、Internet Explorer ではその HTML が正しくレンダリングされず、マウスを使用してボタンをクリックできない場合があります。 Web ブラウザーの制約事項への対処 を参照してください。

画像をフォームに埋め込まない
Forms では埋め込み画像をサポートしていません。その代わりに、画像ファイルの挿入には相対パス名を使用します。例えば、デフォルトでフォームリポジトリとして指定されるフォルダーである、Forms フォームルートディレクトリの相対パスを使用できます。次のパスにある images フォルダーは、form フォルダーと同じレベルとなります。
../images/graphic.jpg

Web ブラウザーの制約事項への対処

機能が制約されたブラウザーを使用しているユーザーがいることが予想される場合は、どのブラウザーにも共通する最低限の機能を想定し、それに従ってフォームをデザインします。または、会社で使用しているブラウザーが XHTML をサポートしている場合は、フォームデザインのレイアウトに関する選択肢が多くなります。

様々なブラウザーで表示されることが予想されるフォームをデザインする場合は、次の点に注意してください。

  • HTML4 変換(Netscape Navigator 4.7.0 以降に対応)ですべてのスタティックオブジェクトが正しく表示されることが確実なページサイズを指定します。そうしないと、フォームのレンダリング時にフィールドに必要なスペースだけしか確保されません。

  • フォームの上端および左端に少なくとも 0.635 ミリの余白を組み込みます。この余白のさらに上および左にあるものは一切表示されません。

  • 負のグリッド座標に描画されたオブジェクトまたはオブジェクトの一部は表示されません。例えば、縦のグリッド座標 - 127 から始まるオブジェクトを描画する場合、オブジェクトの - 127 から 0.635 センチの余白の内側の端までの部分は表示されません。

  • ローエンドブラウザーで発生する可能性のある表示の劣化を補正するために、フィールドの周囲に十分なスペースを空けておきます。例えば、ブラウザーによっては、チェックボックスおよびラジオボタンがデザインされているよりも大きく表示されることがあります。

  • フォームの表示にローエンドブラウザーを使用している場合、特にユーザーがブラウザーのデフォルトフォントを変更すると、データの左揃えが維持されません。

  • Internet Explorer では、ボタンと画像オブジェクトの組み合わせを他の Web ブラウザーとは異なる方法で処理することに注意してください。例えば、カスタムの透明な外観を持つボタンオブジェクトを作成して画像オブジェクトの上に配置すると、Internet Explorer ではその HTML が正しくレンダリングされず、マウスを使用してボタンをクリックできない場合があります。ただし、タブを使用してボタンに移動し、Enter キーまたはスペースバーを使用してボタンを押すことはできます。この処理エラーが発生するのは、ボタンオブジェクトのサイズがキャプションの長さによって決まるためです。キャプション領域の空白スペースのサイズは、ボタンのサイズが画像のサイズより大きくなるように十分な大きさにする必要があります。この問題を解決するには、キャプションテキストを十分な空白スペースに置換して、マウスを使用してボタンをクリックできるようにします。

HTML フォームのプレビュー

Forms を使用してフォームデザインの動作をテストし、フォームデザインのコマンドボタンを正確に設定するには、Forms への要求に関連付けられる URL を把握しておく必要があります。この URL を知っているのはカスタムアプリケーションの開発者です。

HTML フォームをプレビューするには、フォームデザインを Forms で使用可能な状態にして、フォームデザインを保存できるようにする必要があります。その後で、Forms に関連付けられた URL を介してフォームを要求することができます。フォームを開くには、Web ブラウザーまたは対象のクライアントアプリケーション(スクリーンリーダーなど)のいずれかを使用します。

演算とスクリプトの実行場所

演算とスクリプトをフォームデザインに埋め込んで、実行時にオブジェクトのイベントのどれかが発生した場合に演算、メソッド、または操作を実行することができます。例えば、イベントで指定されたアクションをユーザーが実行すると、実行時にイベントが発生します。スクリプトを定義することで、オブジェクトでサポートされているメソッドのいずれかを呼び出し、プロパティを調査したり、設定したりできます。

Designer では、スクリプトおよび演算はデフォルトでクライアントデバイスで実行するよう指定されています。デフォルトの実行場所は、フォームのプロパティダイアログボックスの「プレビュー」タブで定義されます(ファイル/フォームのプロパティを選択します)。デフォルトの実行場所を無効にするには、スクリプトまたは演算をオブジェクトに接続する際に、スクリプトエディターの「実行場所」オプションを使用して別の実行場所を明確に指定します。

Forms を使用している場合、処理はクライアント、サーバーまたはその両方で実行することができます。スクリプトや演算をクライアントとサーバーで実行するよう指定した場合、クライアントとサーバーの両方がそのスクリプトや演算を実行しようとする可能性があります。Forms は、クライアントがスクリプトや演算を処理できない場合は、常にその処理を実行しようとします。スクリプトや演算をサーバーで実行するよう指定した場合、Forms はスクリプトや演算を実行し、実行結果をフォームに再度結合して、実行結果とフォームの両方をクライアントに返します。

クライアントサイドのスクリプトおよび演算は、クライアントデバイスで実行されます。Acrobat または Adobe Reader 用の PDF フォームを作成する場合は、すべての処理をクライアントで実行する必要があります。ただし、クライアントがスクリプトまたは演算を実行できない場合は、Forms がスクリプトまたは演算を処理しようとします。

クライアントサイドのスクリプトを HTML フォームで正常に実行するには、次に示す特定の条件を満たす必要があります。

  • クライアントアプリケーションが Microsoft Explorer 5.0 以降、Netscape Navigator 6.0 以降、Opera 5 以降のいずれかであること。

  • JavaScript だけでスクリプトを作成すること(フォームデザインに FormCalc 演算を組み込むことはできません)。

  • JavaScript がクライアントアプリケーションで有効であること。

クライアントおよびサーバーサイドの処理

処理は、クライアント、サーバー、またはその両方で実行することができます。スクリプトおよび演算は、クライアントで実行する場合とサーバーで実行する場合では動作が異なります。

クライアントサイドの処理

処理がクライアント上で実行されるよう設定されている場合、実行時にスクリプトや演算はすべてユーザーのコンピューター上でリアルタイムで実行されます。宣言されているコードおよび変数は、フォームを開くとほとんど同時に使用可能になります。次のうちのどれか 1 つの状態が発生するまで、この情報は使用可能なままとなり、データの状態も維持されます。

  • 別のスクリプトが実行される。

  • 別のスクリプトが、関連するオブジェクトを削除する。

  • フォームが閉じられる。

サーバーサイドの処理

Forms は、クライアントアプリケーションが管理できないすべてのスクリプトや演算を管理できます。例えば、フォームを自動的に埋め込むために、スクリプトを使用して、クライアントでは使用できないデータベースまたは Web サービスに接続することが必要になる場合があります。Forms では、スクリプトまたは演算を実行するとき、フォームをレンダリングしながら実行します。コードまたは変数は、処理が完了した後は使用不可となります。つまり、スクリプトまたは演算に変数を追加する場合、変数が有効なのは処理の間だけです。

注意: Netscape 4.7 以降をサポートする HTML4 変換を選択した場合は、クライアントで実行するよう指定されたすべての JavaScript が自動的にクライアント上ではなくサーバー上で実行されます。

スクリプトまたは演算で参照可能なイベント

サーバー側のスクリプト

Acrobat および Adobe Reader では、Designer がサポートするすべてのイベントを認識します。クライアントアプリケーションは、サーバーサイドの処理を行うために Forms にユーザー開始イベントを送ります。ユーザー開始イベント以外のタイプのイベントは、サーバーサイドの処理をトリガーしません。Forms は、フォームをレンダリングしているか、クライアントから開始されたサーバーイベントを実行しているか、送信されたデータを処理しているときには、必ずサーバーサイドの処理を実行します。

スクリプトまたは演算をサーバーで実行するよう指定した場合、以下のユーザー開始イベントによって、Acrobat または Adobe Reader から処理のためのイベントが Forms に送られます。

  • exit

  • mouseEnter

  • mouseExit

  • change

  • mouseUp

  • mouseDown

  • click

イベントの処理中に、Forms はサーバー上で実行するよう指定されたすべてのスクリプトや演算を実行し、実行結果をフォームに再度結合してからクライアントアプリケーションにフォームを返します。

次のイベントがサーバーサイドのスクリプトや演算で参照された場合、Acrobat または Adobe Reader はそのイベントを無視します。

  • initialize

  • calculate

  • 検証

  • docReady

  • docClose

次の表に、サーバーサイドのスクリプトや演算でだけ参照できるイベントを示します。これらのイベントはクライアントの HTML アプリケーションに認識されません。

イベント

詳しくは、

form:ready

form:ready イベント

layout:ready

layout:ready イベント

スクリプトをサーバー上で実行するよう指定している場合、HTML クライアントがサーバーサイドの処理を開始するのは、click イベント(標準ボタンの)が発生したときだけです。処理中に、Forms は実行結果を HTML フォームに再度結合し、そのフォームをクライアントアプリケーションに返します。click イベント以外のイベントはすべて HTML クライアントに無視され、実行されるのは Forms がサーバーサイドの処理を実行するときだけです。

クライアントサイドのスクリプト

クライアントサイドのスクリプトおよび演算の場合、Acrobat および Adobe Reader は Designer で定義できるイベント全体をサポートします。

ただし、これらのイベントのすべてが HTML クライアントに認識されるわけではありません。1 つのフォームデザインを使用して PDF フォームと HTML フォームの両方を作成する場合、クライアントサイドのスクリプトが、サポートされているイベントのサブセットのみを参照する必要があります。

クライアントサイドのスクリプトは、HTML クライアントが認識しないイベントを参照した場合、認識されていないイベントが参照された地点で実行を停止します。

HTML フォームからクライアントサイドのスクリプトを実行するのに使用できるイベントは、次の通りです。

イベント

詳しくは、

initialize

initialize イベント

enter

initialize イベント

exit

initialize イベント

calculate

calculate イベント

注意: HTML フォームでのみ、カーソルがフィールドの外に出ると calculate イベントでトリガーされるアクティビティが実行されます。ユーザーがフィールドの値を変更しても処理は開始されませんが、必要に応じて execCalculate() メソッドを使用し、ユーザーによる値の変更時に処理を明示的に起動することができます。

検証

validate イベント

change

change イベント

注意: PDF および HTML フォームでは、このイベントはコンボボックスおよびリストボックスに対してのみサポートされています。

mouseUp

mouseUp イベント

mouseDown

mouseDown イベント

click

click イベント

注意: click イベントは、PDF または HTML フォームの「送信」ボタンには使用できません。代わりに preSubmit イベントを使用します。

preSubmit

preSubmit イベント

注意: PDF および HTML フォームでは、このイベントは「送信」ボタンに対してのみサポートされています。preSubmit イベントを使用してクライアントサイドのスクリプトを実行する場合、処理はデータが送信される前に行われます。このイベントによってスクリプトがサーバー上で実行される場合、処理はデータの送信中に行われます。

サポートされているプロパティ、メソッドおよびイベントのまとめ

注意: ガイドは推奨されていません。
いくつかのホストオブジェクトメソッドを除いて、Acrobat および Adobe Reader は、プロパティ、メソッドおよびイベントを完全にサポートしています。HTML クライアントが認識するプロパティ、メソッドおよびイベントは数が限られています。

1 つのフォームデザインを使用して PDF フォームと HTML フォームの両方を作成する場合、スクリプトはサポートされているプロパティ、メソッドおよびイベントのサブセットを参照できます。

下の表は、クライアントやサーバーサイドのスクリプトで参照できる各種のプロパティ、メソッド、イベントを、どのクライアントアプリケーションが認識するかをまとめたものです。

ホストオブジェクト - プロパティ

Acrobat / Adobe Reader

HTML またはガイドクライアント

currentPage(読み取り専用)

Yes

Yes

numPages(読み取り専用)

Yes

Yes

name(読み取り専用)

Yes

Yes

validationsEnabled

Yes

Yes

calculationsEnabled

Yes

Yes

ホストオブジェクト - メソッド

Acrobat / Adobe Reader

HTML またはガイドクライアント

pageUp

Yes

クライアント / サーバーのみ。

pageDown

Yes

クライアント / サーバーのみ。

exportData

Yes

No

importData

Yes

No

gotoURL

クライアントのみ。

クライアントのみ。

messageBox

クライアントのみ。

クライアントのみ。

resetData

Yes

Yes

setFocus

クライアントのみ。

クライアントのみ。

ホストオブジェクト - イベント

Acrobat / Adobe Reader

HTML またはガイドクライアント

docReady

Yes

サーバーのみ。

docClose

Yes

サーバーのみ。

postPrint

Yes

No

postSave

Yes

No

prePrint

Yes

No

preSave

Yes

No

フォームオブジェクト - メソッド

Acrobat / Adobe Reader

HTML またはガイドクライアント

resolveNodes

Yes

Yes

resolveNode

Yes

Yes

execCalculate

Yes

Yes

execValidate

Yes

Yes

execInitialize

Yes

Yes

サブフォームオブジェクト - プロパティ

Acrobat / Adobe Reader

HTML またはガイドクライアント

name(読み取り専用)

Yes

Yes

index(読み取り専用)

Yes

Yes

x

Yes

Yes

y

Yes

Yes

w

Yes

Yes

h

Yes

Yes

validationMessage

Yes

Yes

サブフォームオブジェクト - メソッド

Acrobat / Adobe Reader

HTML またはガイドクライアント

resolveNodes

Yes

Yes

resolveNode

Yes

Yes

execCalculate

Yes

Yes

execValidate

Yes

Yes

execInitialize

Yes

Yes

サブフォームオブジェクト - イベント

Acrobat / Adobe Reader

HTML またはガイドクライアント

enter

Yes

Yes

exit

Yes

Yes

initialize

Yes

Yes

検証

Yes

Yes

calculate

Yes

Yes

フィールドオブジェクト - プロパティ

Acrobat / Adobe Reader

HTML またはガイドクライアント

name(読み取り専用)

Yes

Yes

index(読み取り専用)

Yes

Yes

rawValue

Yes

Yes

formattedValue

注 1 を参照。

Yes

x

Yes

Yes

y

Yes

Yes

w

Yes

Yes

h

Yes

Yes

presence

Yes

Yes

mandatory

Yes

Yes

fontColor

Yes

Yes

fillColor

Yes

Yes

borderColor

Yes

Yes

borderWidth

Yes

Yes

validationMessage

Yes

Yes

フィールドオブジェクト - メソッド

Acrobat / Adobe Reader

HTML またはガイドクライアント

execCalculate

Yes

Yes

execInitialize

Yes

Yes

execValidate

Yes

Yes

addItem

参照可、コンボボックスおよびリストボックスのみ。

参照可、コンボボックスおよびリストボックスのみ。

clearItems

参照可、コンボボックスおよびリストボックスのみ。

参照可、コンボボックスおよびリストボックスのみ。

resolveNodes

Yes

Yes

resolveNode

Yes

Yes

フィールドオブジェクト - イベント

Acrobat / Adobe Reader

HTML またはガイドクライアント

exit

Yes

Yes

enter

Yes

Yes

calculate

Yes

Yes

検証

Yes

Yes

initialize

Yes

Yes

click

参照可。ただし、「送信」ボタンは除く。注 2 を参照。

参照可。ただし、「送信」ボタンは除く。注 2 を参照。

change

Yes

参照可、コンボボックスおよびリストボックスのみ。

mouseUp

Yes

Yes

mouseDown

Yes

Yes

preSubmit

Yes

認識可。ただし、「送信」ボタンのみ。

注 1 :リストボックスの場合、formattedValue は表示テキストを返しません。

注 2 :click イベントは、PDF または HTML フォームの「送信」ボタンに対してはサポートされていません。代わりに preSubmit イベントを使用します。

ScriptObject オブジェクト

Acrobat / Adobe Reader

HTML またはガイドクライアント

注 3 を参照。

Yes

Yes

注 3 :ScriptObject オブジェクトは、他の任意のスクリプトで作成したり使用したりできます「 スクリプトオブジェクトを作成するには 」を参照してください。

イベントオブジェクト - プロパティ

Acrobat / Adobe Reader

HTML またはガイドクライアント

prevText

Yes

No

prevContentType

Yes

No

newText

Yes

No

newContentType

Yes

No

fullText

Yes

No

commitKey

Yes

No

keyDown

Yes

No

modifier

Yes

No

name

Yes

No

selEnd

Yes

No

selStart

Yes

No

shift

Yes

No

target

Yes

No

change

Yes

No

注 1 :リストボックスの場合、formattedValue は表示テキストを返しません。

注 2 :click イベントは、PDF フォームの「送信」ボタンに対してはサポートされていません。代わりに preSubmit イベントを使用します。

注 3 :ScriptObject オブジェクトは、他の任意のスクリプトで作成したり使用したりできます「 スクリプトオブジェクトを作成するには 」を参照してください。

HTML クライアントがサポートする式

参照構文式の簡素化されたサブセットは、HTML クライアントによってサポートされています。

  • FormCalc による演算は HTML ブラウザーに認識されず、フォームが HTML でレンダリングされる前に削除されます。

  • 省略記号(...)構文はサポートされていません。

  • HTML フォームに対応したクライアントサイドのスクリプトを作成する場合は、JavaScript resolveNode 式を使用して階層内のノードを配置する必要があります。スクリプトは、オブジェクト表記を使用して階層を検索することはできません。例えば、次の式はサポートされていません。

        xfa.form.subform1.TextEdit1

次の式はサポートされています。

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

制限のないフィールド参照を使用して、階層内の兄弟フィールドを検索することができます。

注意: Netscape 4.7 以降をサポートする HTML4 変換を選択した場合は、クライアントで実行するよう指定されたすべての JavaScript が自動的にクライアント上ではなくサーバー上で実行されます。

HTML ページを処理するスクリプトの作成方法

同じフォームデザインを使用して PDF フォームと HTML フォームの両方をレンダリングする場合、ページサイズ設定を使用して PDF フォームのページ番号を付けますが、HTML フォームのレンダリング時にはページサイズ設定は無視されます。PDF ページと HTML ページの違いに対処するために、フォーム作成者は必要に応じてページレベルサブフォームを使用し、工夫を凝らした HTML ページを設定することができます。この方法で HTML ページを設定する場合は、JavaScript を使用してユーザーが実行時に HTML ページ間を移動できるようにする必要があります。

pageUp() および pageDown() メソッドを使用すると、ユーザーは標準的なコマンドボタンを使用して HTML ページ間を移動することができます。このコマンドボタンは、ボタンの click イベントが発生したときに処理をトリガーします。PDF フォームの場合も HTML フォームの場合も、処理はクライアントおよびサーバーで実行する必要があります。

pageUp() および pageDown() メソッドは、ページレベルサブフォームで動作します。例えば、フォーム作成者がフォームデザインで次の構造を設定したとします。

フルサイズのグラフィックを表示
A.
このページレベルサブフォームは、1 ページ目に対応しています。

B.
このページレベルサブフォームは、2 ページ目に対応しています。

C.
このページレベルサブフォームは、3 ページ目に対応しています。

ユーザーが Subform_Page0 に対応する HTML ページを表示している場合、xfa.host.pageDown() を呼び出すと Subform_Page1 がブラウザーに表示されます。同様に、Subform_Page1 の表示中に xfa.host.pageUp() を呼び出すと、Subform_Page0 がブラウザーに表示されます。HTML ページを操作するために、次のプロパティにページ番号が割り当てられます。

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

ユーザーが HTML ページ間を移動する際、データの状態は維持されますが、オブジェクトのプレゼンテーション状態(例えば、フィールドの背景色)はページが変わると変化します。ページ間のプレゼンテーション設定は、隠しフィールドを使用して維持できます。隠しフィールドには、各種の設定とユーザーがフォームのページを前に進めたり後に戻すためのコマンドボタンに対応した状態値が入っています。スクリプトは、隠しフィールドの値に基づいてフィールドのプレゼンテーション状態を更新します。ユーザーが前に進むか後ろに戻るのどちらかのコマンドボタンをクリックすると、ボタンに対応した calculate イベントが使用されてスクリプトが実行されます。

例えば、次の JavaScript は hiddenField という名前のフィールドの値に基づいて、フィールドの塗りつぶしの色を維持します。このスクリプトは、calculate イベントの発生時にトリガーされます。

If (hiddenField.rawValue == 1) 
this.fillColor = "255,0,0" 
else 
this.fillColor = "0,255,0"
注意: クライアントデバイスで HTML フォームのスクリプトを実行する場合、スクリプトを実行できるのは現在のサブフォーム / HTML ページに対してだけです。