Scripts clients

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • Les scripts clients permettent au système d’exécuter JavaScript sur le client (navigateur Web) lorsque des événements liés au client se produisent, par exemple lors du chargement d’un formulaire, après l’envoi du formulaire ou lorsqu’un champ change de valeur.

    Utiliser des scripts clients pour configurer des formulaires, des champs de formulaire et des valeurs de champ lorsque l’utilisateur utilise le formulaire. Les scripts clients peuvent :

    • Rendre les champs masqués ou visibles
    • Rendre les champs accessibles en lecture seule ou en écriture
    • Rendre les champs facultatifs ou obligatoires en fonction du rôle de l’utilisateur
    • Définir la valeur d’un champ en fonction de la valeur des autres champs
    • Modifier les options d’une liste de choix en fonction du rôle d’un utilisateur
    • afficher des messages en fonction d’une valeur dans un champ
    Avertissement :

    Les scripts clients sont destinés à optimiser l’expérience utilisateur sur un formulaire. Les scripts clients ne sont pas destinés à protéger les accès indésirables aux données.

    Pour empêcher tout accès indésirable aux données, assurez-vous que les champs sensibles sont masqués ou en lecture seule via les ACL ou les politiques de données.

    Pour plus d'informations, voir Access Control List Rules ou Data policy.

    Emplacement d’exécution des scripts clients

    À l’exception des scripts clients onCellEdit(), les scripts clients ne s’appliquent qu’aux formulaires et aux pages de recherche. Si vous créez un script client pour contrôler les valeurs de champ sur un formulaire, vous devez utiliser l’une de ces autres méthodes pour contrôler les valeurs de champ lorsqu’elles sont sur une liste.
    • Créez un contrôle d’accès pour limiter qui peut modifier les valeurs de champ.
    • Créez une règle métier pour valider le contenu.
    • Créez une politique de données pour valider le contenu.
    • Créez un script client onCellEdit() pour valider le contenu.
    • Désactiver la modification de liste pour la table.
    Remarque :
    Les scripts clients ne sont pas pris en charge dans les ServiceNow Mobile applications.

    Formulaire de script client

    Champ Description
    Nom Nom du script client.
    Table Table à laquelle le script client s’applique.
    Type d'interface utilisateur Interface utilisateur cible à laquelle le script client s’applique.
    Type

    onLoad() — s’exécute lorsque le système affiche le formulaire pour la première fois et avant que les utilisateurs puissent entrer des données. En règle générale, les scripts clients onLoad() effectuent une manipulation côté client du formulaire actuel ou définissent des valeurs d’enregistrement par défaut.

    onSubmit() — s’exécute lorsqu’un formulaire est soumis. En règle générale, les scripts onSubmit() valident des éléments sur le formulaire et s’assurent que la soumission est logique. Un script client onSubmit() peut annuler la soumission d’un formulaire en renvoyant une valeur faux.

    onChange() — s’exécute lorsqu’une valeur de champ particulière change sur le formulaire. Le script client onChange() doit spécifier ces paramètres.
    • control: le widget DHTML dont la valeur a changé.
      Remarque :
      control n’est pas accessible dans Mobile et Portail de services.
    • oldValue: valeur du widget lors du chargement de l’enregistrement.
      Remarque :
      Les anciennes valeurs ne sont pas renvoyées pour le type de champ HTML.
    • newValue: la valeur du widget après le changement.
    • isLoading: détermine si le changement se produit dans le cadre d’un chargement de formulaire.
    • isTemplate: identifie si le changement se produit dans le cadre du chargement d’un modèle.
    onCellEdit() — s’exécute lorsque l’éditeur de liste modifie la valeur d’une cellule. Le script client onCellEdit() doit spécifier ces paramètres.
    • sysIDs: tableau des sys_ids pour tous les éléments en cours de modification.
    • table: la table des éléments en cours de modification.
    • oldValues: anciennes valeurs des cellules en cours d’édition.
    • newValue: nouvelle valeur pour les cellules en cours d’édition.
    • callback: rappel qui continue l’exécution de tout autre script de modification de cellule connexe. Si la valeur est transmise en tant que paramètre, les autres scripts sont exécutés ou le changement est validé s’il n’existe plus de scripts. Si faux est transmis comme paramètre, aucun autre script n’est exécuté et le changement n’est pas validé.
    Nom de champ Nom du champ auquel le script s’applique. Disponible uniquement si le script répond à une modification de valeur de champ (types de script onChange ou onCellEdit).
    Demande Application dans laquelle réside ce script client.
    Actif Active le script client lorsqu’il est sélectionné. Désélectionnez ce champ pour désactiver le script client.
    Hérité Indique si le script client s’applique aux tables étendues.
    Global Si vrai, le script client s’exécute sur toutes les vues de la table.
    Vue Visible uniquement lorsque Global est désélectionné. Vues sur lesquelles le script client s’exécutera.
    Description Contenu décrivant la fonctionnalité et l’objectif du script client.
    Messages Chaîne de texte (une par ligne) disponible pour le script client en tant que messages localisés utilisant getMessage(« [message] ») Pour plus d’informations, voir Traduire un message de script client.
    Script Contient le script client.
    Isoler le script Les nouveaux scripts clients sont exécutés en mode strict, avec l’accès DOM direct désactivé. L’accès à jQuery, prototype et l’objet de la fenêtre sont également désactivés. Pour désactiver cette option pour chaque script, configurez ce formulaire et cochez la case Isoler le script . Pour désactiver cette fonctionnalité pour tous les nouveaux scripts côté client inclus dans le champ d’application global, définissez la propriété système glide.script.block.client.globals sur faux.