UI 작업에서 클라이언트 및 서버 코드 사용
스크립트를 사용하여 서버 측에서 기록을 업데이트하기 전에 클라이언트 측에서 UI 작업 클릭 시 입력의 유효성을 검사할 수 있습니다. 사용자는 필수 필드를 확인하고 기록을 업데이트하기 위해 단추를 두 번 클릭할 필요가 없습니다.
스크립트는 클라이언트 측 확인을 위해 클라이언트 함수를 호출하고, 이 함수가 통과하면 UI 작업이 작업을 완료합니다. onclick 문 없이 실행되는 코드는 클라이언트 함수가 더 이상 실행되지 않을 때까지 서버 측 함수가 실행되지 않도록 합니다. 성공하면 서버 측 함수가 실행되고 레코드가 업데이트됩니다.
// Client-side onclick function
function resolveIncident() {
// Set the 'Incident state' and 'State' values to 'Resolved', and display mandatory fields
g_form.setValue('incident_state', 6);
g_form.setValue('state', 6);
g_form.setValue('resolved_by', g_user.userID);
// Call the UI action and skip the 'onclick' function
gsftSubmit(null, g_form.getFormElement(), 'resolve_incident'); //MUST call the 'Action name' set in this UI Action
}
// Code that runs without 'onclick'
// Ensure call to server-side function with no browser errors
if (typeof window == 'undefined')
serverResolve();
// Server-side function
function serverResolve() {
current.incident_state = IncidentState.RESOLVED;
current.state = IncidentState.RESOLVED;
current.resolved_by = gs.getUserID();
current.update();
}
gsftSubmit(String control, Object form, String action_name)
필수 필드를 확인하고 onSubmit() 클라이언트 스크립트를 실행한 후 사용자가 UI 작업을 클릭한 것처럼 양식을 제출합니다. 클라이언트 측 코드와 서버 측 코드를 단일 UI 작업에서 호출할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 제어 | 문자열 | 사용자 클릭을 시뮬레이션할 양식 버튼의 이름입니다. 그렇지 않으면 null을 사용합니다. |
| 양식 | 객체 | 옵션입니다. 제출된 입력을 포함하는 양식 요소입니다. g_form.getFormElement() 메서드를 호출하여 이 값을 검색할 수 있습니다. |
| action_name | 문자열 | 작업 이름입니다. 이 값은 UI 작업 [sys_ui_action] 테이블에 나열된 레코드에 제공됩니다. 예를 들어 |