클라이언트 스크립트

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • 클라이언트 스크립트를 사용하면 클라이언트 기반 이벤트가 발생한 경우(예: 양식이 로드될 때, 양식 제출 후 또는 필드 값이 변경된 경우) 시스템이 클라이언트(웹 브라우저)에서 JavaScript를 실행할 수 있습니다.

    사용자가 양식을 사용하는 동안 클라이언트 스크립트를 사용하여 양식, 양식 필드 및 필드 값을 구성합니다. 클라이언트 스크립트는 다음을 수행할 수 있습니다.

    • 필드를 숨김 또는 표시로 설정
    • 필드를 읽기 전용 또는 쓰기 가능으로 설정
    • 사용자 역할에 따라 필드를 선택 사항 또는 필수로 만들기
    • 다른 필드의 값을 기준으로 한 필드의 값 설정
    • 사용자 역할에 따라 선택 목록의 옵션 수정
    • 필드의 값을 기준으로 메시지 표시
    경고:

    클라이언트 스크립트는 양식에서 사용자 경험을 최적화하기 위한 것입니다. 클라이언트 스크립트는 데이터에 대한 원치 않는 액세스를 보호하기 위한 것이 아닙니다.

    데이터에 대한 원치 않는 액세스를 방지하려면 ACL 또는 데이터 정책을 통해 중요한 필드를 숨기거나 읽기 전용으로 설정합니다.

    자세한 내용은 Access Control List Rules 또는 Data policy 문서를 참조하십시오.

    클라이언트 스크립트가 실행되는 위치

    onCellEdit() 클라이언트 스크립트를 제외하고 클라이언트 스크립트는 양식 및 검색 페이지에만 적용됩니다. 양식의 필드 값을 제어하는 클라이언트 스크립트를 만드는 경우 목록에 있을 때 필드 값을 제어하려면 이러한 다른 방법 중 하나를 사용해야 합니다.
    • 필드 값을 편집할 수 있는 사용자를 제한하는 접근 제어를 생성합니다.
    • 컨텐츠의 유효성을 검사하는 비즈니스 규칙을 생성합니다.
    • 컨텐츠의 유효성을 검사하는 데이터 정책을 만듭니다.
    • onCellEdit() 클라이언트 스크립트를 생성하여 콘텐츠를 확인합니다.
    • 테이블에 대한 목록 편집을 비활성화합니다.
    주:
    클라이언트 스크립트는 애플리케이션에서 지원되지 ServiceNow 모바일 않습니다.

    클라이언트 스크립트 양식

    필드 설명
    이름 클라이언트 스크립트의 이름입니다.
    테이블 클라이언트 스크립트가 적용되는 테이블입니다.
    UI 유형 클라이언트 스크립트가 적용되는 대상 사용자 인터페이스입니다.
    유형

    onLoad() — 시스템에서 양식을 처음 렌더링할 때와 사용자가 데이터를 입력할 수 있기 전에 실행됩니다. 일반적으로 onLoad() 클라이언트 스크립트는 클라이언트 측에서 현재 양식을 조작하거나 기본 기록 값을 설정합니다.

    onSubmit() — 양식이 제출될 때 실행됩니다. 일반적으로 onSubmit() 스크립트는 폼에 있는 항목을 검증하고 제출이 맞는지 확인합니다. onSubmit() 클라이언트 스크립트는 false 값을 반환하여 양식 제출을 취소할 수 있습니다.

    onChange() — 양식에서 특정 필드 값이 변경될 때 실행됩니다. onChange() 클라이언트 스크립트에서 이러한 매개변수를 지정해야 합니다.
    • control: 값이 변경된 DHTML 위젯입니다.
      주:
      control 은(는) 모바일 및 서비스 포털에서 접근할 수 없습니다.
    • oldValue: 기록이 로드될 때 위젯이 가졌던 값입니다.
      주:
      HTML 필드 유형에 대해 이전 값은 반환되지 않습니다.
    • newValue: 변경 후 위젯에 포함되는 값입니다.
    • isLoading: 양식 로드의 일부로 변경이 발생하는지 여부를 식별합니다.
    • isTemplate: 템플릿 로드의 일부로 변경이 발생하는지 여부를 식별합니다.
    onCellEdit() — 목록 편집기가 셀 값을 변경할 때 실행됩니다. onCellEdit() 클라이언트 스크립트에서 이러한 매개변수를 지정해야 합니다.
    • sysIDs: 편집 중인 모든 항목의 sys_ids 배열입니다.
    • table: 편집 중인 항목의 테이블입니다.
    • oldValues: 편집 중인 셀의 이전 값입니다.
    • newValue: 편집 중인 셀의 새 값입니다.
    • callback: 관련된 다른 셀 편집 스크립트의 실행을 계속하는 콜백입니다. true가 매개변수로 전달되면 다른 스크립트가 실행되거나 스크립트가 더 이상 없을 경우 변경이 커밋됩니다. false가 매개변수로 전달되면 추가 스크립트가 실행되지 않고 변경 내용이 커밋되지 않습니다.
    필드 이름 스크립트가 적용되는 필드의 이름입니다. 스크립트가 필드 값 변경(onChange 또는 onCellEdit 스크립트 유형)에 응답하는 경우에만 사용할 수 있습니다.
    애플리케이션 이 클라이언트 스크립트가 상주하는 애플리케이션입니다.
    활성 선택하면 클라이언트 스크립트를 활성화합니다. 클라이언트 스크립트를 사용하지 않으려면 이 필드의 선택을 취소합니다.
    상속됨 클라이언트 스크립트가 확장된 테이블에 적용되는지 여부를 나타냅니다.
    전역 true인 경우, 클라이언트 스크립트는 테이블의 모든 뷰에서 실행됩니다.
    전역이 선택되지 않은 경우에만 표시됩니다. 클라이언트 스크립트가 실행될 뷰입니다.
    설명 클라이언트 스크립트의 기능과 목적을 설명하는 컨텐츠입니다.
    메시지 getMessage("[message]")를 사용하여 지역화된 메시지로 클라이언트 스크립트에서 사용할 수 있는 텍스트 문자열(라인당 하나)입니다. 자세한 내용은 클라이언트 스크립트 메시지 번역을 참조하십시오.
    스크립트 클라이언트 스크립트가 포함되어 있습니다.
    스크립트 격리 새 클라이언트 스크립트는 직접 DOM 액세스가 비활성화된 엄격 모드에서 실행됩니다. jQuery, 프로토타입 및 window 객체에 대한 액세스도 비활성화됩니다. 스크립트별로 이 설정을 비활성화하려면 이 양식을 구성하고 스크립트 격리 확인란을 선택합니다. 모든 새 전역 범위 클라이언트 측 스크립트에 대해 이 기능을 비활성화하려면 시스템 속성 glide.script.block.client.globals를 false로 설정합니다.