Power Pages 클라이언트 API 양식, 탭, 섹션 및 컨트롤을 사용하여 페이지 요소를 검사하고 관리합니다. 이 참조에서는 표시 유형, 값 및 다중 단계 탐색을 제어하는 데 사용할 수 있는 컬렉션, 속성 및 메서드에 대해 설명합니다.
$pages.currentPage.forms
컬렉션에는 $pages.currentPage.forms 페이지의 양식 요소로 작업하는 메서드가 포함되어 있습니다.
$pages.currentPage.forms 메서드
이러한 메서드를 사용하여 양식을 나열하고 특정 양식 인스턴스를 가져옵니다.
| 메서드 | Returns | Description |
|---|---|---|
getAll |
IForm[] |
현재 페이지에 추가된 모든 양식을 반환합니다. |
getFormById(id: string) |
IForm |
HTML 요소 ID로 폼을 검색합니다. |
getFormByName(name: string) |
IForm |
이름으로 폼을 검색합니다. |
$pages.currentPage.forms 메서드 예제
다음 예제에서는 모든 양식을 가져오고 ID 또는 이름으로 특정 양식을 검색하는 방법을 보여 줍니다.
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
let forms = $pages.currentPage.forms.getAll();
let form1 = $pages.currentPage.forms.getFormById('form_#1');
let form2 = $pages.currentPage.forms.getFormByName('form_name')
});
IForm 인터페이스
인터페이스는 IForm 컨트롤 및 탭에 대한 컨테이너를 나타냅니다.
IForm 속성
다음 속성은 양식과 포함된 컨트롤 및 탭에 대해 설명합니다.
| 재산 | Type | Description |
|---|---|---|
id |
string | 양식의 ID입니다. |
name |
string | 양식의 이름입니다. |
controls |
제어[] |
폼의 모든 컨트롤입니다. |
tabs |
탭[] |
양식의 모든 탭입니다. |
isMultiStep |
부울 | 양식이 다중 단계이면 True이고, 그렇지 않으면 false입니다. 다중 단계 양식을 참조하세요. |
IForm 메서드
이러한 메서드를 사용하여 폼의 표시 여부를 쿼리하고 표시 여부를 전환합니다.
| 메서드 | Returns | Description |
|---|---|---|
getVisible |
boolean |
폼이 표시되면 true를 반환합니다. 그렇지 않으면 false입니다. |
setVisible(isVisible: boolean) |
void |
폼의 표시 유형을 설정합니다. |
getHtmlElement |
HTMLElement |
폼의 기본 HTML 요소를 반환합니다. |
getControlByLogicalName(logicalName: string) |
컨트롤(Control) | undefined |
열 스키마 이름과 같이 지정한 논리 이름이 있는 폼의 컨트롤을 반환합니다. 일치하는 컨트롤이 없는 경우 정의되지 않은 값을 반환합니다. |
IForm 예제
다음 예제에서는 ID별로 폼을 검색하고 표시 유형, 컨트롤 수 및 탭을 기록합니다.
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
let form = $pages.currentPage.forms.getFormById('form_#1');
console.log(`Form id: ${form.id} has ${form.controls.length} controls.`);
if (form.getVisible()) {
console.log('Form is currently visible.');
}
let tabs = form.tabs;
console.log(`Form has ${tabs.length} tabs.`);
// Look up a control by its logical name.
let nameControl = form.getControlByLogicalName('fullname');
if (nameControl) {
nameControl.setValue('Jane Doe');
}
});
다단계 양식
다중 단계 양식은 여러 기본 양식을 포함하는 컨테이너입니다.
다중 단계 양식 속성
다음 속성은 다중 단계 양식 컨테이너에 적용되며 현재 활성 단계에서 사용할 수 있는 내용을 설명합니다.
| 재산 | Type | Description |
|---|---|---|
id |
string | 다중 단계 양식의 ID입니다. |
controls |
제어[] |
현재 단계의 모든 컨트롤입니다. |
tabs |
탭[] |
현재 단계의 모든 탭. |
isMultiStep |
부울 | 양식이 다중 단계이면 True이고, 그렇지 않으면 false입니다. |
nextButton |
JQuery 요소 | 다음 단추(없는 경우 빈 개체)를 나타냅니다. |
previousButton |
JQuery 요소 | 이전 단추를 나타냅니다(없는 경우 빈 개체). |
다중 단계 양식 메서드
이러한 메서드를 사용하여 가시성을 확인하고 다단계 형식의 단계 간을 이동합니다.
| Name | Returns | Description |
|---|---|---|
getVisible |
boolean |
폼이 표시되면 true를 반환합니다. 그렇지 않으면 false입니다. |
setVisible(isVisible: boolean) |
void |
폼의 표시 유형을 설정합니다. |
hasNextStep |
boolean |
다음 단계가 있으면 true를 반환합니다. 그렇지 않으면 false입니다. |
hasPreviousStep |
boolean |
이전 단계가 있으면 true를 반환합니다. 그렇지 않으면 false입니다. |
goToNextStep |
void |
다음 단계로 이동합니다. 다음 단계가 없으면 양식을 제출합니다. |
goToPreviousStep |
void |
이전 단계로 이동합니다. 가 없으면 예외를 throw합니다. |
getControlByLogicalName(logicalName: string) |
컨트롤(Control) | undefined |
열 스키마 이름과 같이 지정한 논리 이름을 포함하는 현재 단계의 컨트롤을 반환합니다. 일치하는 컨트롤이 없는 경우 정의되지 않은 값을 반환합니다. |
다중 단계 양식 예제
이 예제에서는 다단계 폼을 검색하고 검사한 다음 다음 단계로 진행하는 방법을 보여 드립니다.
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
let form = $pages.currentPage.forms.getFormById('multiform_#1');
console.log(`Form id: ${form.id} has ${form.controls.length} controls.`);
if (form.getVisible()) {
console.log('Form is currently visible.');
}
let tabs = form.tabs;
console.log(`Form has ${tabs.length} tabs.`);
form.goToNextStep();
});
Tab
양식 Tab 에 하나 이상의 섹션이 포함되어 있습니다.
Tab Sections 속성
탭 내의 섹션 배열입니다.
Tab 메서드
이러한 메서드를 사용하여 탭의 표시 여부를 확인하고, 해당 이름을 검색하고, 표시되는지 여부를 전환합니다.
| 메서드 | Returns | Description |
|---|---|---|
getVisible |
boolean |
탭이 표시되면 true를 반환합니다. 그렇지 않으면 false입니다. |
getName |
string |
탭의 이름을 반환합니다. |
setVisible(isVisible: boolean) |
void |
탭의 표시 유형을 설정합니다. |
Tab 예제
다음은 폼을 검색하고, 해당 탭을 열거하고, 첫 번째 탭의 이름을 기록하는 예제입니다.
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
let form = $pages.currentPage.forms.getFormById('form_#1');
let tabs = form.tabs;
console.log(`Form has ${tabs.length} tabs.`);
console.log(`First tab is named: ${tabs[0].getName()}`);
});
섹션
섹션은 탭 내의 컨트롤을 그룹화합니다.
Section Controls 속성
섹션 내의 컨트롤 배열입니다 .
섹션 메서드
이러한 메서드를 사용하여 섹션의 이름을 읽고 표시 유형을 제어합니다.
| 메서드 | Returns | Description |
|---|---|---|
getVisible |
boolean |
구역이 표시되면 true를 반환합니다. 그렇지 않으면 false입니다. |
getName |
string |
섹션 이름을 반환합니다. |
setVisible(isVisible: boolean) |
void |
섹션의 표시 유형을 설정합니다. |
섹션 예제
다음은 폼의 첫 번째 탭에서 섹션을 검색하고 기본 세부 정보를 기록하는 예제입니다.
Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
let form = $pages.currentPage.forms.getFormById('form_#1');
let sections = form.tabs[0].sections;
console.log(`Tab has ${sections.length} section(s).`);
console.log(`First section is named: ${sections[0].getName()}`);
});
제어
A Control 는 개별 양식 요소를 나타냅니다.
공용 제어 메서드를 사용하여 값, 표시 유형, 필수 상태 및 비활성화된 상태를 검색하거나 업데이트하고 클라이언트 쪽 유효성 검사를 추가합니다. 값 형식 및 추가 멤버는 컨트롤 형식에 따라 달라집니다.