---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Como usar o código de cliente e servidor em uma ação de IU

# Como usar o código de cliente e servidor em uma ação de IU {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

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) {#using-client-server-code-ui-action__section_rkc_v3f_lwb}

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.
{#using-client-server-code-ui-action__table_lmr_qwr_fz__entry__3}

| 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, `"resolve_incident"` é o nome da ação do botão Resolver na tabela Incidente \[incidente\]. |
[Tabela 1. Parâmetros]

{#using-client-server-code-ui-action__table_lmr_qwr_fz}
**Conceitos relacionados**   

* [GlideUser - Cliente](https://servicenow-prod.fluidtopics.net/OTlEMdV8uF1v6MEJHI~_xQ#c_GlideUserAPI "A API GlideUser fornece métodos que acessam informações sobre o usuário atual e as funções do usuário atual. O uso desta API evita a necessidade de usar consultas GlideRecord mais lentas para obter informações do usuário.")  
**Referência relacionada**   

* [GlideForm -- getFormElement()](https://servicenow-prod.fluidtopics.net/Zl3eiO_1CJx2_6E9J3xhDQ#r_GlideFormGetFormElement "Retorna o elemento HTML do formulário.")
* [GlideSystem com escopo - eventQueue(cadeia de caracteres name, object instance, string parm1, string parm2, string queue)](https://servicenow-prod.fluidtopics.net/_iJVYsenZzSNUjS0id_aVg#r_ScopedGlideSystemEventQueue_String_Object_String_String_String "Enfileira um evento para o gerenciador de eventos.")  
**Tópicos relacionados**   

* [UI actions](https://www.servicenow.com/docs/access?context=c_UIActions&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)

