Client-Skripts

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Client-Skripts ermöglichen es dem System, JavaScript auf dem Client (Webbrowser) auszuführen, sobald clientbasierte Events eintreten. Der Code wird also beispielsweise beim Laden eines Formulars ausgeführt, nach dem Absenden eines Formulars oder wenn der Wert eines Felds geändert wird.

    Mithilfe von Client-Skripts lassen sich Formulare, Formularfelder und Feldwerte konfigurieren, während der Benutzer das Formular verwendet. Client-Skripts können:

    • Felder ausblenden oder sichtbar machen
    • Felder schreibgeschützt oder ausfüllbar machen
    • Felder basierend auf der Rolle des Benutzers optional oder obligatorisch machen
    • den Wert eines Felds basierend auf dem Wert anderer Felder festlegen
    • die Optionen in einer Auswahlliste basierend auf der Rolle des Benutzers ändern
    • basierend auf dem Wert eines Feldes Nachrichten anzeigen
    Warnung:

    Client-Skripts sollen die Anwender-Experience in einem Formular optimieren. Client-Skripts sollen keinen unerwünschten Zugriff auf Daten schützen.

    Um unerwünschten Zugriffe auf Daten zu verhindern, stellen Sie sicher, dass vertrauliche Felder über ACLs oder Datenrichtlinien ausgeblendet oder schreibgeschützt sind.

    Weitere Informationen finden Sie unter Access Control List Rules oder Data policy.

    Wo Client-Skripts ausgeführt werden

    Mit Ausnahme von Client-Skripts des Typs onCellEdit() werden Client-Skripts nur auf Formulare und Suchseiten angewendet. Wenn Sie ein Client-Skript erstellen, um Feldwerte in einem Formular zu steuern, müssen Sie zur Steuerung dieser Feldwerte in einer Liste eine der nachfolgend aufgeführten anderen Methoden verwenden.
    • Erstellen einer Zugriffssteuerung, um einzuschränken, wer Feldwerte bearbeiten darf
    • Erstellen einer Business Rule zur Inhaltsvalidierung
    • Erstellen einer Datenrichtlinie zur Inhaltsvalidierung
    • Erstellen eines Client-Skripts des Typs onCellEdit() zur Inhaltsvalidierung
    • Deaktivieren der Listenbearbeitung für die Tabelle
    Hinweis:
    Client-Skripts werden für ServiceNow Mobile -Anwendungen nicht unterstützt.

    Formular für Client-Skripts

    Feld Beschreibung
    Name Name des Client-Skripts
    Tabelle Tabelle, auf die das Client-Skript angewendet wird
    UI-Typ Zielbenutzeroberfläche, auf die das Client-Skript angewendet wird
    Typ

    onLoad(): Wird ausgeführt, wenn das System das Formular zum ersten Mal rendert und bevor Benutzer Daten eingeben können. In der Regel nehmen Client-Skripts des Typs onLoad() clientseitige Änderungen am aktuellen Formular vor oder legen standardmäßige Datensatzwerte fest.

    onSubmit(): Wird ausgeführt, wenn ein Formular abgesendet wird. In der Regel validieren Client-Skripts des Typs onSubmit() Angaben im Formular und stellen sicher, dass die übermittelten Daten Sinn ergeben. Ein Client-Skript des Typs onSubmit() kann die Übermittlung eines Formulars abbrechen, wenn „false“ als Wert zurückgegeben wird.

    onChange(): Wird ausgeführt, wenn der Wert eines bestimmten Formularfelds geändert wird. In einem Client-Skript des Typs onChange() müssen die nachfolgend aufgeführten Parameter angegeben werden.
    • control: DHTML-Widget, dessen Wert sich geändert hat.
      Hinweis:
      control ist in Mobil- und Serviceportalen nicht zugänglich.
    • oldValue: Der Wert, den das Widget beim Laden des Datensatzes hatte.
      Hinweis:
      Für den HTML-Feldtyp werden keine alten Werte zurückgegeben.
    • newValue: Der Wert des Widgets nach dem Change.
    • isLoading: Gibt an, ob der Change als Teil eines Formularladens auftritt.
    • isTemplate: Gibt an, ob die Änderung als Teil des Ladens einer Vorlage auftritt.
    onCellEdit(): Wird ausgeführt, wenn der Listeneditor einen Zellenwert ändert. In einem Client-Skript des Typs onCellEdit() müssen die nachfolgend aufgeführten Parameter angegeben werden.
    • sysIDs: Ein Array der sys_ids für alle bearbeiteten Elemente.
    • table: die Tabelle der zu bearbeitenden Elemente.
    • oldValues: die alten Werte der zu bearbeitenden Zellen.
    • newValue: der neue Wert für die zu bearbeitenden Zellen.
    • callback: Ein Rückruf, der die Ausführung aller anderen zugehörigen Zellenbearbeitungsskripts fortsetzt. Wenn true als Parameter übergeben wird, werden die anderen Skripts ausgeführt. Sind keine weiteren Skripts vorhanden, wird die Änderung übernommen. Wenn false als Parameter übergeben wird, werden keine weiteren Skripts ausgeführt, und die Änderung wird nicht übernommen.
    Feldname Name des Felds, für das das Skript gilt. Nur verfügbar, wenn das Skript auf eine Änderung eines Feldwerts reagiert (Skripttyp „onChange“ oder „onCellEdit“).
    Anwendung Anwendung, in der sich das Client-Skript befindet
    Aktiv Aktiviert bei Auswahl das Client-Skript. Deaktivieren Sie dieses Feld, um das Client-Skript zu deaktivieren.
    Geerbt Gibt an, ob das Client-Skript auf erweiterte Tabellen angewendet wird.
    Global Wenn „true“ gesetzt ist, wird das Client-Skript auf alle Ansichten der Tabelle angewendet.
    Ansicht Wird nur angezeigt, wenn Global deaktiviert ist. Ansichten, auf die das Client-Skript angewendet wird.
    Beschreibung Inhalt, der die Funktionalität und den Zweck des Client-Skripts beschreibt
    Nachrichten Textzeichenfolgen (eine pro Zeile), die dem Client-Skript als lokalisierte Nachrichten über getmessage('[Nachricht]') zur Verfügung stehen. Weitere Informationen finden Sie unter Client-Skript-Nachrichten übersetzen.
    Skript Enthält das Client-Skript.
    Skript isolieren Neue Client-Skripts werden im strikten Modus ausgeführt, wobei der direkte DOM-Zugriff deaktiviert ist. Der Zugriff auf jQuery, Prototypen und das Fensterobjekt ist ebenfalls deaktiviert. Um dies für einzelne Skripts zu deaktivieren, konfigurieren Sie dieses Formular, und aktivieren Sie das Kontrollkästchen Skript isolieren. Um diese Funktion für alle neuen clientseitigen Skripts mit globalem Umfang zu deaktivieren, legen Sie für die Systemeigenschaft „glide.script.block.client.globals“ den Wert „false“ fest.