HTML5 양식용 양식 브리지 API

Form Bridge API를 사용하여 XFA 기반 HTML5 양식과 응용 프로그램 간에 통신 채널을 열 수 있습니다. 양식 브리지 API는 연결을 만들기 위한 connect API를 제공합니다.

connect API는 핸들러를 인수로 허용합니다. XFA 기반 HTML5 양식과 양식 브리지 간에 성공적으로 연결이 만들어지면 핸들이 호출됩니다.

다음 샘플 코드를 사용하여 연결을 만들 수 있습니다.

// 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 파일을 포함하기 전에 연결을 만들어야 합니다.

사용 가능한 양식 브리지 API 

getBridgeVersion()

스크립팅 라이브러리의 버전 번호를 반환합니다.

  • 입력:없음
  • 출력:스크립팅 라이브러리의 버전 번호
  • 오류:없음

isConnected() 양식 상태가 초기화되었는지 확인합니다.

  • 입력:없음

  • 출력: XFA 양식 상태가 초기화된 경우 Trueif

  • 오류:없음

connect(handler, context) FormBridge에 연결을 만들고 연결이 이루어지고 양식 상태가 초기화된 후 함수를 실행합니다.

  • 입력:

    • 핸들러:Form Bridge가 연결된 후 실행할 함수
    • 컨텍스트:*handler *함수의 컨텍스트(이)가 설정되는 객체입니다.
  • 출력:없음

  • 오류:없음

getDataXML(options) 현재 양식 데이터를 XML 형식으로 반환합니다.

  • 입력:

    • options: 다음 속성을 포함하는 JavaScript 객체:

      • 오류:오류 처리기 함수
      • 성공:성공 처리기 함수입니다. 이 함수는 data 속성에 XML이 포함된 객체를 전달합니다.
      • 컨텍스트:success 함수의 컨텍스트(이)가 ** 설정되는 객체
      • validationChecker:서버에서 받은 유효성 검사 오류를 확인하는 호출하기 위한 함수입니다. 유효성 검사 함수는 오류 문자열 배열을 전달합니다.
      • formState:데이터 XML을 반환해야 하는 XFA 양식의 JSON 상태입니다. 지정하지 않으면 현재 렌더링된 양식에 대한 데이터 XML을 반환합니다.
  • 출력: 없음

  • 오류: 없음

registerConfig(configName, config) FormBridge에 사용자/포털 관련 구성을 등록합니다. 이러한 구성은 기본 구성을 덮어씁니다. 지원되는 구성은 구성 섹션에 지정됩니다.

  • 입력:

    • 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: 구성 값

  • 출력: dataproperty에 있는 구성의 원래 값이 포함된 ** 객체입니다.

  • 오류: 없음

hideFields(fieldArray) fieldArray에 Som 표현식이 제공되는 필드를 숨깁니다. 지정된 필드의 presence 속성을 보이지 않도록 설정합니다.

  • 입력:

    • fieldArray: 숨길 필드에 대한 Som 표현식 배열
  • 출력: 없음

  • 오류: 없음

showFields(fieldArray) fieldArray에 Som 표현식이 제공되는 필드를 표시합니다. 제공된 필드의 presence 속성을 표시하도록 설정합니다.

  • 입력:

    • fieldArray: 표시할 필드에 대한 Som 표현식 배열
  • 출력: 없음

  • 오류: 없음

hideSubmitButtons() 양식에 있는 모든 전송 단추를 숨깁니다.

  • 입력:없음
  • 출력:없음
  • 오류:양식 상태가 초기화되지 않은 경우 예외가 발생합니다.

getFormState() 양식 상태를 나타내는 JSON을 반환합니다.

  • 입력: 없음

  • 출력: dataproperty에서 현재 양식 상태를 나타내는 JSON이 포함된 ** 객체입니다.

  • 오류: 없음

restoreFormState(options) options 객체의 제공된 JSON 상태에서 양식 상태를 복원합니다. 상태가 적용되고 작업이 완료된 후 성공 또는 오류 핸들러가 호출됩니다.

  • 입력:

    • 옵션: 다음 속성을 포함하는 JavaScript 개체:

      • 오류:오류 처리기 함수
      • 성공:성공 처리기 함수
      • 컨텍스트:success 함수의 컨텍스트(이)가 ** 설정되는 객체
      • formState:양식의 JSON 상태입니다. 양식이 JSON 상태로 복원됩니다.
  • 출력: 없음

  • 오류: 없음

setFocus(som) Som 표현식에 지정된 필드에 포커스를 설정합니다.

  • 입력: 포커스를 설정할 필드의 일부 표현식
  • 출력: 없음
  • 오류: 잘못된 Som 표현식의 경우 예외가 발생합니다.

setFieldValue(som, value) 주어진 Som 표현식에 대한 필드의 값을 설정합니다.

  • 입력:

    • som: 필드의 Som 표현식이 포함된 배열. 필드의 값을 설정할 일부 식입니다.
    • value: Som 표현식에 해당하는 값을 포함하는 ​배열입니다. 값의 데이터 유형이 fieldType과 동일하지 않으면 값이 수정되지 않습니다.
  • 출력: 없음

  • 오류: 잘못된 Som 표현식의 경우 예외를 throw합니다.

getFieldValue (som) 주어진 Som 식에 대한 필드 값을 반환합니다.

  • 입력: 값을 검색해야 하는 필드의 일부 표현식이 포함된 배열

  • 출력: dataproperty에 결과가 Array로 포함된 ​객체입니다.

  • 오류: 없음

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 표현식이 포함된 배열
    • 속성:값이 필요한 속성의 이름
  • 출력: 결과가 *data *property에 Array로 포함된 개체

  • 오류: 없음

setFieldProperties(som, property, values) Som 표현식에 지정된 모든 필드에 대해 지정된 속성의 값을 설정합니다.

  • 입력:

    • som: 값을 설정해야 하는 필드의 Som 표현식을 포함하는 배열
    • 속성:값을 설정해야 하는 속성
    • value: Som 표현식에 지정된 필드에 대한 주어진 속성 값을 포함하는 배열
  • 출력: 없음

  • 오류: 없음

양식 브리지 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.
  }

이 페이지에서는