ページの先頭行へ戻る
 Formcoordinatorユーザーズガイド

8.3 別ウィンドウを開く(データを送信する)場合の設定

入力データをサーバに送信して、送信結果を電子フォームとは別のウィンドウに表示して、電子フォームを操作する場合について説明します。

例:

[簡易住所入力]ボタンをクリックして入力された郵便番号データをサーバに送信し、郵便番号を基に住所を検索して結果を別ウィンドウに表示し、住所を電子フォームに設定する場合

(1) 電子フォームを作成する

入力されたデータをサーバに送信して、別ウィンドウを表示するための電子フォームを作成します。

  1. スタティックテキスト項目を2個挿入して、「〒」および「住所」という文字列を指定します。

  2. タグ名および項目名が「郵便番号」のテキスト項目および「住所」の矩形テキスト項目を挿入します。

  3. コマンド種別が「送信」、ラベルおよび項目名が「簡易住所入力」、[送信情報]タブの「送信先」にサーバのURLを入力したコマンドボタン項目を挿入します。

  4. 何も選択しない状態で、[書式]-[イベント定義]-[電子フォームをロードする]をクリックします。
    →[イベント定義]ダイアログボックスが表示されます。

  5. [関数挿入]ボタンをクリックします。
    →[関数挿入]ダイアログボックスが表示されます。

  6. [分類]の「項目属性関数」を選択し、[関数名]で「fjxmlSetSubWindow」または「fjxmlSetTarget」を選択します。

    • fjxmlSetSubWindow
      送信結果を別ウィンドウに表示したい場合に選択します。
      [設定]の「項目名」に「簡易住所入力」を指定して[OK]ボタンをクリックします。
      →[イベント定義]ダイアログボックスの「イベントの動作」にfjxmlSetSubWindow([簡易住所入力]);が挿入されます。

    • fjxmlSetTarget
      送信結果を指定した別ウィンドウに表示したい場合などに選択します。
      [設定]の「項目名」に「簡易住所入力」、「ウィンドウ名」に「JUSYO」を指定して[OK]ボタンをクリックします。
      →[イベント定義]ダイアログボックスの「イベントの動作」にfjxmlSetTarget([簡易住所入力],"JUSYO");が挿入されます。

  7. [分類]の「項目属性関数」を選択し、[関数名]で「fjxmlSetWindowStyle」を選択して、[設定]の「タイプ」に「3」を、サイズに「width=450,height=300」を入力します。
    →[イベント定義]ダイアログボックスの「イベントの動作」にfjxmlSetWindowStyle(3,"width=450,height=300");が挿入されます。
    ただし、手順6.で「fjxmlSetSubWindow」を選択した場合だけ有効となります。

  8. [OK]ボタンをクリックします。

  9. 電子フォームを保存します。

注意

  • fjxmlSetSubWindow関数の注意を次に示します。

    • 別ウィンドウには、ツールバー、メニューバー、アドレスバーは表示されません。また、スクロールバー表示はONに設定され、ウィンドウサイズの指定はデフォルト(前回表示したウィンドウのサイズ)で表示されます。なお、別ウィンドウのスタイルはfjxmlSetWindowStyle関数を使用して指定することができます。

    • 別ウィンドウは親ウィンドウを起動した電子フォームが次画面に遷移したときに自動的に閉じます。

    • 別ウィンドウと親ウィンドウは非同期で動作します。このため別ウィンドウ表示中でも親ウィンドウの操作ができます。

    • 別ウィンドウは表示している電子フォーム単位で表示されるので、別ウィンドウを表示している状態で再度別ウィンドウに送信結果を表示するように設定されたコマンドボタンをクリックすると、表示済みの別ウィンドウに送信結果が表示されます。複数のブラウザを起動して電子フォームを表示した場合は、電子フォームごとに別ウィンドウが開きます。

    • 同じボタンに対して当関数を複数回呼び出し、fjxmlSetTarget関数と同時に使用した場合は後に呼び出された指定が有効になります。

  • fjxmlSetTarget関数の注意を次に示します。

    • 同じボタンに対して当関数を複数回呼び出し、fjxmlSetSubWindowと同時に使用した場合は後に呼び出された指定が有効になります。

    • パラメタに指定するウィンドウ名は大文字/小文字が区別されます。

    • fjxmlSetSubWindowと異なり、この関数で開いた別ウィンドウは自動的に閉じません。

    • 送信結果が表示されるウィンドウは、ブラウザによってアクティブになる場合とならない場合があります。

    • フレームを使用する場合は、ブラウザによっては正しく動作しない場合があるため、異なるフレームに同じ名前を指定しないでください。

  • fjxmlSetWindowStyle関数の注意を次に示します。

    • 複数回呼び出した場合、最後に指定されたウィンドウスタイルで別ウィンドウが開きます。

    • タイプに「3」を指定し、サイズパラメタを省略した場合は、別ウィンドウは電子フォームが表示されているウィンドウと同じサイズで表示されます。

    • サイズパラメタに指定できる最大値、最小値はブラウザに依存します。

(2) Webアプリケーションを作成する

電子フォームから送信結果を受け取り、別ウィンドウに表示するHTMLを生成するWebアプリケーションを作成します。

(3) サーバに配置して確認する

作成した電子フォームやWebアプリケーションをサーバに配置し、表示や動作を確認します。

参考

作成例についてはサンプルを参照してください。サンプルおよびサンプルについての使用方法は次に示すフォルダに格納されています。

  • Windowsサンプルの格納先
    フレームワークのインストールフォルダ\sample\window_sample\

  • サンプル使用方法の格納先
    フレームワークのインストールフォルダ\sample\window_sample\window_sample.txt

  • SolarisLinuxサンプルの格納先
    /opt/FJSVfcdn/sample/window_sample

  • サンプル使用方法の格納先
    /opt/FJSVfcdn/sample/window_sample/window_sample.txt