Client- und Servercode in einer UI-Aktion verwenden

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Sie können ein Skript verwenden, um die Eingabe bei einem Klick auf eine UI-Aktion auf der Client-Seite zu validieren, bevor Sie den Datensatz auf der Serverseite aktualisieren. Der Benutzer muss nicht zweimal auf die Schaltfläche klicken, um die Pflichtfelder zu validieren und den Datensatz zu aktualisieren.

    Das Skript ruft die Clientfunktion für die clientseitige Validierung auf, und die UI Action schließt die Aufgabe ab, wenn sie erfolgreich ist. Der Code, der ohne die Anweisung onclick ausgeführt wird, stellt sicher, dass die serverseitige Funktion erst ausgeführt wird, wenn die Clientfunktion nicht mehr ausgeführt wird. Bei Erfolg wird die serverseitige Funktion ausgeführt, und der Datensatz wird aktualisiert.

    // 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(Zeichenfolgensteuerung, Objektformular, Zeichenfolge action_name)

    Sendet ein Formular so, als ob der Anwender auf eine UI-Aktion geklickt hätte, nachdem es auf Pflichtfelder überprüft und onSubmit()- Client-Skripts ausgeführt hat. Aktiviert das Aufrufen von clientseitigem und serverseitigem Code in einer einzigen UI-Aktion.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Kontrolle Zeichenfolge Name einer Formularschaltfläche, auf der Sie einen Anwenderklick simulieren möchten. Andernfalls verwenden Sie null.
    Formular Objekt Optional. Das Formularelement, das die übermittelte Eingabe enthält. Sie können diesen Wert abrufen, indem Sie die Methode g_form.getFormElement() aufrufen.
    action_name Zeichenfolge Aktionsname. Dieser Wert wird in dem Datensatz bereitgestellt, der in der Tabelle „UI-Aktionen“ [sys_ui_action] aufgeführt ist.

    Beispiel: „resolve_incident“ ist der Aktionsname der Schaltfläche Lösen in der Incident-Tabelle [incident].