---
sourceDocument: Criar ou modificar aplicações do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/application-development

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Criar ou modificar aplicações do Xanadu

ft:clusterId :

    - cadev

bundleId :

    - cadev

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}
**Tópicos relacionados**   

* [GlideForm - getFormElement()](https://www.servicenow.com/docs/access?context=c_GlideFormAPI&version=xanadu&pubname=xanadu-api-reference&section=r_GlideFormGetFormElement&ft:locale=en-US)
* [Scoped GlideSystem - eventQueue(String name, Object instance, String parm1, String parm2,
  String queue)](https://www.servicenow.com/docs/access?context=c_GlideSystemScopedAPI&version=xanadu&pubname=xanadu-api-reference&section=r_ScopedGlideSystemEventQueue_String_Object_String_String_String&ft:locale=en-US)
* [GlideUser - Client](https://www.servicenow.com/docs/access?context=c_GlideUserAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
* [UI actions](https://www.servicenow.com/docs/access?context=c_UIActions&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)

