Como usar o código de cliente e servidor em uma ação de IU
Você pode usar um script para validar a entrada após um clique de Ação de IU no lado do cliente antes de atualizar o registro no lado do servidor. O usuário não precisará clicar no botão duas vezes para validar os campos obrigatórios e atualizar o registro.
O script chama a função do cliente para validação do lado do cliente e a ação de IU conclui a tarefa se for aprovada. O código que é executado sem a instrução onclick garante que a função do lado do servidor não seja executada até que a função do cliente não esteja mais em execução. Se for bem-sucedido, a função do lado do servidor será executada e atualizará o registro.
// 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(controle de cadeia de caracteres, formulário de objeto, cadeia de caracteres action_name)
Envia um formulário como se o usuário tivesse clicado em uma Ação de IU após verificar os campos obrigatórios e executar client scripts onSubmit(). Habilita a chamada do código do lado do cliente e do código do servidor em uma única ação de IU.
| Nome | Tipo | Descrição |
|---|---|---|
| controle | Cadeia de caracteres | Nome de um botão de formulário no qual você deseja simular um clique do usuário. Caso contrário, use nulo. |
| formulário | Objeto | Opcional. O elemento de formulário que contém a entrada enviada. Você pode recuperar este valor chamando o método g_form.getFormElement(). |
| action_name | Cadeia de caracteres | Nome da ação. Este valor é fornecido no registro listado na tabela Ações de IU [sys_ui_action]. Por exemplo, |