---
sourceDocument: Yokohama Créer ou modifier des applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - fr-FR

ft:publication_title :

    - Yokohama Créer ou modifier des applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Utilisation du code client et serveur dans une action d'interface utilisateur
=============================================================================

Utilisation du code client et serveur dans une action d'interface utilisateur {#ariaid-title1}
==============================================================================================

* Rversion finale: Yokohama
* 
* Mis à jour 30 janv. 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute de lecture

Vous pouvez utiliser un script pour valider une entrée lors d'un clic sur une action d'interface utilisateur côté client avant de mettre à jour l'enregistrement côté serveur. L'utilisateur n'aura pas besoin de cliquer deux fois sur le bouton pour valider les champs obligatoires et mettre à jour l'enregistrement.
Le script appelle la fonction client pour la validation côté client, et l'action d'interface utilisateur termine la tâche si elle réussit. Le `code qui s'exécute sans instruction onclick` garantit que la fonction côté serveur ne s'exécute pas tant que la fonction cliente n'est pas exécutée. En cas de réussite, la fonction côté serveur s'exécute et met à jour l'enregistrement.

    // 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(contrôle de chaîne, formulaire d'objet, chaîne action_name) {#using-client-server-code-ui-action__section_rkc_v3f_lwb}
---------------------------------------------------------------------------------------------------------------------------------

Soumet un formulaire comme si l'utilisateur avait cliqué sur une action d'interface utilisateur après avoir vérifié les champs obligatoires et exécuté les scripts clients onSubmit( ). Permet d'appeler le code côté client et le code côté serveur dans une seule action d'interface utilisateur.
{#using-client-server-code-ui-action__table_lmr_qwr_fz__entry__3}

|     Nom     |  Type  |                                                                                                                           Description                                                                                                                            |
|-------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| control     | Chaîne | Nom d'un bouton de formulaire sur lequel vous souhaitez simuler un clic utilisateur. Utilisez `null` sinon.                                                                                                                                                      |
| formulaire  | Objet  | Facultatif. Élément de formulaire qui contient l'entrée soumise. Vous pouvez récupérer cette valeur en appelant la méthode g_form.getFormElement().                                                                                                              |
| action_name | Chaîne | Nom de l'action. Cette valeur est fournie dans l'enregistrement répertorié dans la table Actions d'interface utilisateur \[sys_ui_action\]. Par exemple, `<< resolve_incident >>` est le nom de l'action du bouton Résoudre dans la table Incident \[incident\]. |
[Tableau 1. Paramètres]

{#using-client-server-code-ui-action__table_lmr_qwr_fz}
**Information associée**   

* [GlideForm - getFormElement()](https://www.servicenow.com/docs/access?context=c_GlideFormAPI&version=yokohama&pubname=yokohama-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=yokohama&pubname=yokohama-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=yokohama&pubname=yokohama-api-reference&ft:locale=en-US)
* [Defining UI actions](https://www.servicenow.com/docs/access?context=c_UIActions&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)

