各種 Form Bridge API を使用すると、XFA ベースの HTML5 フォームとお使いのアプリケーション間の通信チャネルを開くことができます。これらの Form Bridge API では接続作成用の接続 API を使用できます。
接続 API はハンドラーを引数として受け入れます。XFA ベースの接続 5 フォームと Form Bridge 間の接続が正常にHTMLされると、ハンドルが呼び出されます。
次のサンプルコードを使用して接続を作成できます。
// 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 ファイルを追加してください。
getBridgeVersion()
スクリプトライブラリのバージョン番号を返します
isConnected() フォーム状態が初期化されたかを確認
入力:なし
出力:XFA フォーム状態が初期化された場合 true
エラー:なし
connect(handler, context): FormBridge への接続を確立し、接続を確立してフォーム状態が初期化された後に関数を実行
必要情報:
出力:なし
エラー:なし
getDataXML(options): 現在のフォームデータを XML 形式で返す
必要情報:
options:次のプロパティが含まれている JavaScript オブジェクト。
出力:なし
エラー:なし
registerConfig(configName, config): ユーザー / ポータル固有の設定を FormBridge に登録します。 これらの設定は、デフォルトの設定よりも優先されます。 サポートされる設定は、config セクションで指定します。
必要情報:
configName:オーバーライドする設定の名前
widgetConfig:フォーム内のデフォルトウィジェットをカスタムウィジェットでオーバーライドするのをユーザーに許可します。設定は次のようにオーバーライドされます。
formBridge.registerConfig("widgetConfig":{/*configuration*/})
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 に設定します
必要情報:
出力:なし
エラー:なし
showFields(fieldArray):fieldArray で SOM 式が提供されるフィールドを表示します。提供されたフィールドの presence プロパティを visible に設定します
必要情報:
出力:なし
エラー:なし
hideSubmitButtons():フォーム内のすべての送信ボタンを非表示にします
getFormState():フォームステートを表す JSON を返します
入力:なし
出力: data プロパティに現在のフォームデータを表す JSON が含まれているオブジェクト。
エラー:なし
restoreFormState(options):options オブジェクトに提供された JSON ステートからフォームステートを復元します。状態が適用され、操作の完了後に成功またはエラーハンドラーが呼び出されます
必要情報:
options:次のプロパティが含まれている JavaScript オブジェクト。
出力:なし
エラー:なし
setFocus (som):SOM 式で指定されたフィールドにフォーカスを移します。
setFieldValue (som, value):提供された SOM 式のフィールドの値を設定します
必要情報:
出力:なし
エラー: SOM 式が正しくない場合は例外をスローする
getFieldValue (som):提供された SOM 式のフィールドの値を返します
入力:値を取得する必要のあるフィールドの SOM 式が含まれている配列
出力:結果が配列として data プロパティに含まれているオブジェクト
エラー:なし
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 式で指定されたフィールドの提供されたプロパティの値リストを取得
必要情報:
出力:結果が配列として data プロパティに含まれているオブジェクト
エラー:なし
setFieldProperties(som, property, values): SOM 式で指定されたすべてのフィールドの提供されたプロパティの値を設定
必要情報:
出力:なし
エラー:なし
// 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.
}