Show Menu
화제×

HTML5 양식용 Form Bridge API

Form Bridge API 파섹 Form Bridge API는 연결을 만들기 위한 연결 API를 제공합니다.
Connect 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에 연결하여 연결이 이루어지고 양식 상태가 초기화된 후 함수를 실행합니다
  • 입력 :
    • 처리기 :Form Bridge가 연결된 후 실행할 함수
    • 컨텍스트 :처리기 함수의 컨텍스트(이)가 설정되는 개체입니다 .
  • 출력 :없음
  • 오류 :없음
getDataXML(옵션) 현재 양식 데이터를 XML 형식으로 반환합니다.
  • 입력:
    • 옵션: 다음 속성을 포함하는 JavaScript 개체:
      • 오류 :오류 처리기 함수
      • 성공 :성공 처리기 함수입니다. 이 함수는 데이터 속성에 XML이 포함된 객체를 전달합니다.
      • 컨텍스트 :성공 ** 함수의 컨텍스트(이)가 설정되는 객체
      • 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> }).
      • 로깅 구성: 사용자가 로깅 수준을 재정의하거나, 범주에 대해 로깅을 비활성화하거나, 로그 콘솔을 표시할지 또는 서버로 전송할지를 지정할 수 있습니다. 구성은 다음과 같이 재정의할 수 있습니다.
      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: 구성의 값
  • **출력:** 데이터 속성에 구성의 원래 값이 들어 있는 개체입니다.
  • 오류: 없음
hideFields(fieldArray) fieldArray에 Som 표현식이 제공되는 필드를 숨깁니다. 지정된 필드의 presence 속성을 보이지 않도록 설정합니다.
  • 입력:
    • fieldArray: 숨길 필드에 대한 Som 표현식 배열
  • 출력: 없음
  • 오류: 없음
showFields(fieldArray) fieldArray에 Som 표현식이 제공되는 필드를 표시합니다. 제공된 필드의 presence 속성을 표시되도록 설정합니다.
  • 입력:
    • fieldArray: 표시할 필드에 대한 Som 표현식 배열
  • 출력: 없음
  • 오류: 없음
hideSubmitButtons() 양식에 있는 모든 전송 단추를 숨깁니다.
  • 입력 :없음
  • 출력 :없음
  • 오류 :양식 상태가 초기화되지 않은 경우 예외가 발생합니다.
getFormState() 양식 상태를 나타내는 JSON을 반환합니다.
  • 입력: 없음
  • 출력: 현재 양식 상태를 나타내는 JSON이 포함된 데이터 속성
  • 오류: 없음
restoreFormState(옵션) 옵션 개체의 제공된 JSON 상태에서 양식 상태를 복원합니다. 상태가 적용되고 작업이 완료된 후 성공 또는 오류 처리기가 호출됩니다.
  • 입력:
    • 옵션: 다음 속성을 포함하는 JavaScript 개체:
      • 오류 :오류 처리기 함수
      • 성공 :성공 처리기 함수
      • 컨텍스트 :성공 ** 함수의 컨텍스트(이)가 설정되는 객체
      • formState :양식의 JSON 상태입니다. 양식이 JSON 상태로 복원됩니다.
  • 출력: 없음
  • 오류: 없음
setFocus(som) Som 표현식에 지정된 필드에 포커스를 설정합니다.
  • 입력: 포커스를 설정할 필드의 일부 식
  • 출력: 없음
  • 오류: 잘못된 Som 표현식의 경우 예외가 발생합니다.
setFieldValue (som, value) 주어진 Som 표현식에 대한 필드 값을 설정합니다.
  • 입력:
    • social: 필드의 일부 표현식을 포함하는 배열입니다. 필드의 값을 설정하는 일부 식입니다.
    • value: 임의 배열에 제공된 Som 표현식에 해당하는 값을 포함하는 ​배열입니다. 값의 데이터 유형이 fieldType과 같지 않으면 값이 수정되지 않습니다.
  • 출력: 없음
  • 오류: 잘못된 Som 표현식의 경우 예외를 throw합니다.
getFieldValue (som) 주어진 Som 식에 대한 필드 값을 반환합니다.
  • 입력: 값을 검색해야 하는 필드의 일부 표현식이 포함된 배열
  • 출력: 결과를 데이터 속성에 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 표현식에 지정된 필드의 지정된 속성에 대한 값 목록을 검색합니다
  • 입력:
    • social: 필드에 대한 Som 표현식을 포함하는 배열
    • 속성 :값이 필요한 속성의 이름
  • 출력: 결과를 데이터 속성에 Array로 포함하는 개체
  • 오류: 없음
setFieldProperties(som, property, values) Som 표현식에 지정된 모든 필드에 대해 지정된 속성의 값을 설정합니다
  • 입력:
    • social: 값을 설정해야 하는 필드의 일부 표현식을 포함하는 배열
    • 속성 :값을 설정해야 하는 속성
    • 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.
  }