現在表示中:

各種 Form Bridge API を使用すると、XFA ベースの HTML5 フォームとお使いのアプリケーション間の通信チャネルを開くことができます。これらの Form Bridge API では接続作成用の接続 API を使用できます。

接続 API はハンドラーを引数として受け入れます。XFA ベースの HTML5 フォームと Form Bridge 間の接続が正常に作成されると、ハンドルが呼び出されます。

次のサンプルコードを使用して接続を作成できます。 

// Example showing how to connect to FormBridge
window.addEventListener("FormBridgeInitialized",
                                function(event) {
                                    var fb = event.detail.formBridge;
                                    fb.connect(function() {
                                           //use form bridge functions 
	                        })
                            })

注意:

必ず接続を作成してから formRuntime.jsp ファイルを追加してください。 

利用可能な Form Bridge API 

getBridgeVersion()

スクリプティングライブラリのバージョン番号を返す
  • 入力:なし
  • 出力:スクリプティングライブラリのバージョン番号
  • エラー:なし

isConnected()

フォーム状態が初期化されたかを確認

  • 入力:なし
  • 出力:XFA フォーム状態が初期化された場合 true
  • エラー:なし

connect(handler,context)

FormBridge に接続し、接続が確立されてフォーム状態が初期化された後に関数を実行

  • 入力: 
    • handler:Form Bridge が接続された後に実行する関数
    • contexthandler 関数のコンテキスト(this)の設定対象オブジェクト
  • 出力:なし
  • エラー:なし

getDataXML(options)

現在のフォームデータを XML 形式で返す

  • 入力:
    • options:次のプロパティが含まれている JavaScript オブジェクト。
      • error:エラーハンドラー関数
      • success:サクセスハンドラー関数。 この関数には data プロパティに XML が含まれているオブジェクトが渡されます。
      • contextsuccess 関数のコンテキスト(this)の設定対象オブジェクト
      • validationChecker:サーバーから受信した検証エラーを確認するための関数。検証関数にはエラー文字列の配列が渡されます。
      • formState:XML のデータを返す必要がある対象の XFA フォームの JSON 状態指定されていない場合、現在のレンダリングされているフォームの XML のデータ。
  • 出力:なし
  • エラー:なし

registerConfig(configName, config)

ユーザー/ポータル固有の設定を FormBridge に登録します。これらの設定はデフォルト設定をオーバーライドします。サポートされている設定は config セクションで指定されています。

  • 入力:
    • configName:オーバーライドする設定の名前
      • widgetConfig:ユーザーがフォーム内のデフォルトウィジェットをカスタムウィジェットでオーバーライドすることを可能にします。設定は次のようにオーバーライドされます。
        formBridge.registerConfig("widgetConfig":{/*設定*/})
      • pagingConfig:ユーザーが最初のページのみがレンダリングされるというデフォルト動作をオーバーライドすることを可能にします。設定は次のようにオーバーライドされます。
        window.formBridge.registerConfig("pagingConfig":{pagingDisabled: <true | false>, shrinkPageDisabled: <true | false> }). 
      • LoggingConfig:ユーザーがログのレベル、あるカテゴリのログの無効化、またはログコンソールを表示するかサーバーに送信するかをオーバーライドすることを可能にします。設定は次のようにオーバーライドできます。
      • formBridge.registerConfig{
        "LoggerConfig" : {
            {
                "on":<true false>,
                "category":<array of categories>,
                "level":<level of categories>, "
                type":<"console"/"server"/"both">
            }
        }
      • SubmitServiceProxyConfig:ユーザーが送信を登録し、プロキシサービスをロギングできるようにします。
        window.formBridge.registerConfig("submitServiceProxyConfig",
        {
           "submitServiceProxy" : "<submitServiceProxy>",
           "logServiceProxy": "<logServiceProxy>",
           "submitUrl" : "<submitUrl>"
        });
    • config:設定の値
       
  • 出力:data プロパティに設定の元の値が含まれているオブジェクト。
  • エラー:なし
 

hideFields(fieldArray)

fieldArray で SOM 式が提供されるフィールドを非表示にします。指定フィールドの presence プロパティを invisible に設定します

  • 入力:
    • fieldArray:非表示にするフィールドの SOM 式の配列
  • 出力:なし
  • エラー:なし

showFields(fieldArray)

fieldArray で SOM 式が提供されるフィールドを表示します。提供されたフィールドの presence プロパティを visible に設定します

  • 入力:
    • fieldArray:表示するフィールドの SOM 式の配列
  • 出力:なし
  • エラー:なし

hideSubmitButtons()

フォーム内のすべての submit ボタンを非表示にする

  • 入力:なし
  • 出力:なし
  • エラー:フォーム状態が初期化されていない場合、例外をスローする

getFormState()

Form 状態を表す JSON を返す

  • 入力:なし
  • 出力:data プロパティに現在のフォームデータを表す JSON が含まれているオブジェクト。
  • エラー:なし

restoreFormState(options)

options オブジェクトに提供された JSON 状態からフォーム状態を復元します。状態が適用され、操作の完了後にサクセスまたはエラーハンドラーが呼び出されます。

  • 入力:
    • options:次のプロパティが含まれている JavaScript Object:
      • error:エラーハンドラー関数
      • success:サクセスハンドラー関数
      • contextsuccess 関数のコンテキスト(this)の設定対象オブジェクト
      • formState: フォームの JSON ステート。フォームは JSON ステートに復元されます。
  • 出力:なし
  • エラー:なし

setFocus (som)

SOM 式で指定されたフィールドにフォーカスを移します。

  • 入力:フォーカスを設定するフィールドの SOM 式
  • 出力:なし
  • エラー:SOM 式が間違っている場合、例外をスローする

setFieldValue (som,value)

提供された SOM 式のフィールドの値を設定

  • 入力:
    • som:フィールドの SOM 式が含まれている配列。フィールドの値を設定するための SOM 式。
    • value:SOM 配列で提供された SOM 式に対応する値が含まれている配列。値のデータタイプが fieldType と同じでない場合、値は変更されません。
  • 出力:なし
  • エラー:SOM 式が間違っている場合、例外をスローする

getFieldValue (som)

提供された SOM 式のフィールドの値を返す

  • 入力:値を取得する必要のあるフィールドの SOM 式が含まれている配列
  • 出力:結果が配列として data プロパティに含まれているオブジェクト。
  • エラー:なし

getFieldValue() API の例

var a =  formBridge.getFieldValue(“xfa.form.form1.Subform1.TextField”);
if(a.errors) {
    var err;
     while((err = a.getNextMessage()) != null)
               alert(a.message)
} else {
   alert(a.data[0]) 
}

getFieldProperties(som,property)

SOM 式で指定されたフィールドの提供されたプロパティの値リストを取得

  • 入力:
    • som:フィールドの SOM 式が含まれている配列
    • property:値が要求されるプロパティの名前
  • 出力:結果が配列として data プロパティに含まれているオブジェクト。
  • エラー:なし

setFieldProperties(som,property,values)

SOM 式で指定されたすべてのフィールドの提供されたプロパティの値を設定

  • 入力:
    • som:値の設定が要求されるフィールドの SOM 式が含まれている 配列
    • property:値の設定が要求されるプロパティ
    • value:SOM 式で指定されたフィールドの提供されたプロパティの値が含まれている配列
  • 出力:なし
  • エラー:なし

Form Bridge API の使用例

// Example 1: FormBridge.restoreFormState
  function loadFormState() {
    var suc = function(obj) {
             //success
            }
    var err = function(obj) {
           while(var t = obj.getNextMessage()) {
         $("#errorDiv").append("<div>"+t.message+"</div>");
           }
           }
        var _formState = // load form state from storage
    formBridge.restoreFormState({success:suc,error:err,formState:_formState}); // not passing a context means that this will be formBridge itself. Validation errors will be checked.
  }

//--------------------------------------------------------------------------------------------------

//Example 2: FormBridge.submitForm
  function SubmitForm() {
    var suc = function(obj) {
             var data = obj.data;
         // submit the data to a url;
            }
    var err = function(obj) {
           while(var t = obj.getNextMessage()) {
         $("#errorDiv").append("<div>"+t.message+"</div>");
           }
           }
    formBridge.submitForm({success:suc,error:err}); // not passing a context means that this will be formBridge itself. Validation errors will be checked.
  }

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー